![]() |
Programm um Umlaute in Tabelle(Stringgrid) zu Übersetzen
Hi ich habe folgendes Problem ich wollte mir ein Programm schreiben welches in einem Stringgrid , in den einzelnen Zellen die Umlaute ersetzt.
Dazu folgener Quellcode:
Delphi-Quellcode:
Die Funktion umlaute_ersetzen hhbe ich selber geschrieben:
procedure TForm1.Button1Click(Sender: TObject);
VAR I,j,Breite,Hoehe:longint; s,z:String; begin Breite:=Stringgrid1.Colcount-1; Hoehe:=Stringgrid1.RowCount-1; For i:=0 to Breite do begin Label3.Caption:=InttoSTr(i); Form1.Refresh; for j:=0 to Hoehe do begin Label4.Caption:=InttoStr(j); form1.Refresh; s:= Stringgrid1.Cells[j,i]; z:=umlaute_ersetzen(s); Stringgrid1.Cells[j,i]:=z; end; end; end;
Delphi-Quellcode:
Die ganzen Sachen mit dem refresch sollen jediglich der Kontrolle dienen ob das Programm durchläuft bzw wo es gerade steht.
function umlaute_ersetzen(s:String):String;
VAR laenge,z:Integer; begin z:=0; If s <>'' Then begin Repeat z:=z+1; laenge:=length(s); If (s[z] = 'Ä')Then begin delete(s,z,1); insert('\216',s,z); end ELSE If s[z] = 'ä' Then begin delete(s,z,1); insert('\204',s,z); end ELSE If s[z] = 'Ö' Then begin delete(s,z,1); insert('\231',s,z); end ELSE If s[z] = 'ö' Then begin delete(s,z,1); insert('\224',s,z); end ELSE If s[z] = 'Ü' Then begin delete(s,z,1); insert('\232',s,z); end ELSE If s[z] = 'ü' Then begin delete(s,z,1); insert('\201',s,z); end ELSE If s[z] = 'ß' Then begin delete(s,z,1); insert('\341',s,z); end; Until z=laenge end; Result:=s; end; Allerdings übersetzt mein Programm die Umlaute nciht wie ich will. bzw bei kleinen Datenmengen macht es keine Probleme. Bei großen Datenmengen allerdings schon. habe einen 5 Spaltige Tabelle mit 64000 Zeilen aus einer sql datenbank die ich so übersetzen lassen wollte. Allerdings tut sich bei einer solch großen Datenmenge nichts. Was kann ich dagegen machen? Habe ich irgend etwas falsch gemacht? Ich hoffe auf baldige Antwort. |
Re: Programm um Umlaute in Tabelle(Stringgrid) zu Übersetzen
Warum ersetzt du nicht, bevor die Daten im Grid landen (z.B. beim Einlesen aus DB)?
|
Re: Programm um Umlaute in Tabelle(Stringgrid) zu Übersetzen
Das ahtte in meinen AUgen den Vorteil das man in dem Grid noch die Daten ändern kann bevor sie wieder in die Datenbank hochgeladen werden.
Werde aber mal versuchen das beim einlesen bereits einzubauen. Schonmal Danke. Melde mich dann ob es läuft. |
Re: Programm um Umlaute in Tabelle(Stringgrid) zu Übersetzen
OK Danke für die Hilfe. Hat geklappt.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz