/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Karaktere -- Dos til Win
Fra : Thomas Due


Dato : 24-04-01 13:48

Hej,

Jeg sidder med et lille problem. Jeg har lavet et program som læser
data filer ind i en database. Problemet er at disse datafiler tilsyneladende
kommer fra et dos-system. Det resulterer i at f.eks. 'Ø' fremstår som
en sort firkant.

Jeg kan jo så kører alle karakterne igennem en konverter som laver
alle karaktere med værdien #143 () f.eks. bliver lavet om til Å.
Men det bliver jo hurtigt en omgang grim kode hvis jeg skal checke på
alle muligheder, æ, ø, å, Æ, Ø, Å, ü, Ü, osv. Derfor vil jeg lige hører
om der er nogen som kender en metode til at omdanne fra en code-page
til en anden (hvad det vel i praksis er?)

Mvh
Thomas Due
tdue@eon.dk




 
 
Carsten (24-04-2001)
Kommentar
Fra : Carsten


Dato : 24-04-01 14:37

"Thomas Due" <noname@nowhere.net> wrote in message
news:9c3so6$11f$1@news.inet.tele.dk...
> Hej,
>
> Jeg sidder med et lille problem. Jeg har lavet et program som læser
> data filer ind i en database. Problemet er at disse datafiler
tilsyneladende
> kommer fra et dos-system. Det resulterer i at f.eks. 'Ø' fremstår som
> en sort firkant.
>
> Jeg kan jo så kører alle karakterne igennem en konverter som laver
> alle karaktere med værdien #143 () f.eks. bliver lavet om til Å.
> Men det bliver jo hurtigt en omgang grim kode hvis jeg skal checke på
> alle muligheder, æ, ø, å, Æ, Ø, Å, ü, Ü, osv. Derfor vil jeg lige hører
> om der er nogen som kender en metode til at omdanne fra en code-page
> til en anden (hvad det vel i praksis er?)
>
> Mvh
> Thomas Due
> tdue@eon.dk
>

To muligheder (fra min side) :

1) den nemme: brug charToOEMBuf() fra Win32 API'et, se
http://msdn.microsoft.com/library/psdk/winui/strings_4uul.htm
2) Benyt xlat instruktionen i asm-mode, se
http://www.escape.ca/~rrrobins/Assembly/xlat.html

Carsten




Stig Johansen (25-04-2001)
Kommentar
Fra : Stig Johansen


Dato : 25-04-01 05:53

Hej.


"Carsten" <carjak@wanadoo.dk> wrote in message
news:9c3vh7$9n2$1@news.inet.tele.dk...
> "Thomas Due" <noname@nowhere.net> wrote in message
> news:9c3so6$11f$1@news.inet.tele.dk...
> > Hej,
> >
> > Jeg sidder med et lille problem. Jeg har lavet et program som læser
> > data filer ind i en database. Problemet er at disse datafiler
> tilsyneladende
> > kommer fra et dos-system. Det resulterer i at f.eks. 'Ø' fremstår som
> > en sort firkant.
> >
> > Jeg kan jo så kører alle karakterne igennem en konverter som laver
> > alle karaktere med værdien #143 () f.eks. bliver lavet om til Å.
> > Men det bliver jo hurtigt en omgang grim kode hvis jeg skal checke på
> > alle muligheder, æ, ø, å, Æ, Ø, Å, ü, Ü, osv. Derfor vil jeg lige hører
> > om der er nogen som kender en metode til at omdanne fra en code-page
> > til en anden (hvad det vel i praksis er?)
> >
> > Mvh
> > Thomas Due
> > tdue@eon.dk
> >
>
> To muligheder (fra min side) :
>
> 1) den nemme: brug charToOEMBuf() fra Win32 API'et, se
> http://msdn.microsoft.com/library/psdk/winui/strings_4uul.htm
> 2) Benyt xlat instruktionen i asm-mode, se
> http://www.escape.ca/~rrrobins/Assembly/xlat.html
>
> Carsten
>

Jeg plejer at benytte den tredje mulighed, nemlig at benytte en 'ODBC
opkobling'. Her kan du skifte mellem win og dos-tegnsæt uden at ændre dit
program.

--
Med venlig hilsen/Best Regards
Stig Johansen - stig@w3data.dk
W3 Data - mailto@w3data.dk





Thomas Riedel, LogiH~ (25-04-2001)
Kommentar
Fra : Thomas Riedel, LogiH~


Dato : 25-04-01 12:20



--
Thomas Riedel, LogiHouse
Thomas Due <noname@nowhere.net> skrev i en
nyhedsmeddelelse:9c3so6$11f$1@news.inet.tele.dk...
> Hej,
>
> Jeg sidder med et lille problem. Jeg har lavet et program som læser
> data filer ind i en database. Problemet er at disse datafiler
tilsyneladende
> kommer fra et dos-system. Det resulterer i at f.eks. 'Ø' fremstår som
> en sort firkant.
>
> Jeg kan jo så kører alle karakterne igennem en konverter som laver
> alle karaktere med værdien #143 () f.eks. bliver lavet om til Å.
> Men det bliver jo hurtigt en omgang grim kode hvis jeg skal checke på
> alle muligheder, æ, ø, å, Æ, Ø, Å, ü, Ü, osv. Derfor vil jeg lige hører
> om der er nogen som kender en metode til at omdanne fra en code-page
> til en anden (hvad det vel i praksis er?)
>
> Mvh
> Thomas Due
> tdue@eon.dk
>
>
>

Hej Thomas

Jeg klarer problemet med en hjemmelavet funktion, som er rimelig nem at
vedligeholde:

function charconv(str : string ) : string;
const fra : string = '''>?';
til : string = 'ÆØÅæøå';
var p, i : integer;

begin
for i := 1 to length(str) do
begin
p := pos(str[i], fra);
if p > 0 then
str[i] := til[p];
end;
result := str;
end;

Hilsen Thomas

ps Hvorfor hedder alle Thomas i denne gruppe?




Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste