05. august 2000 - 19:43
Der er
2 kommentarer og
1 løsning
Udskrivning af æ,ø,å
Jeg har problemer med at printer æ,ø,å når jeg skriver ud fra delphi.
Canvas.TextOut(mm(20),mm(463),\'øøøøØØØØ\'); virker fint,men når jeg skriver fra en Intrabase :
Canvas.TextOut(mm(20),mm(121),fieldbyname(\'Lnavn\').asstring);
går der ged i det.
Jeg kan godt hente og gemme æ,ø,å i DB\'en i selve programmet ??
09. august 2000 - 14:39
#1
Det skyldes formentligt at Intrabase gemmer disse tegn med andre værdier end Windows gør.
Prøv at lave en rutine der udskriver tegnene i lnavn et ad gangen med hhv. asc(tegn) og tegn. Så kan du se de ascii værdier de har når de kommer op af DB\'en. Derefter er det bare at lave en konverteringsrutine der vender bestemte værdier til noget andet:
function konv(s : string) : string;
var s1 : string;
i : integer;
begin
s1 := \'\';
for i := 1 to length(s) do
begin
case asc(s[i]) of
xxx : s1 := s1 + yyy;
xx1 : s1 := s1 + yy1;
// o.s.v.
else
s1 := s1 + s[i];
end;
end;
result := s1;
end;
og den bruger du så i din textout:
Canvas.TextOut(mm(20),mm(121),konv(fieldbyname(\'Lnavn\').asstring));
10. august 2000 - 20:04
#2
Det var desværre ikke det der skulle til.
Jeg har indsnævret problemet til at jeg ikke kan skrive æøå i skrift størrelse 11, Ariel af en eller and årsag.
Flere ideer ??