AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Programm um Umlaute in Tabelle(Stringgrid) zu Übersetzen

Programm um Umlaute in Tabelle(Stringgrid) zu Übersetzen

Ein Thema von Richie1103 · begonnen am 22. Mai 2009 · letzter Beitrag vom 22. Mai 2009
Antwort Antwort
Richie1103

Registriert seit: 2. Feb 2009
20 Beiträge
 
#1

Programm um Umlaute in Tabelle(Stringgrid) zu Übersetzen

  Alt 22. Mai 2009, 00:17
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:
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;
Die Funktion umlaute_ersetzen hhbe ich selber geschrieben:

Delphi-Quellcode:
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;
Die ganzen Sachen mit dem refresch sollen jediglich der Kontrolle dienen ob das Programm durchläuft bzw wo es gerade steht.
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.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Programm um Umlaute in Tabelle(Stringgrid) zu Übersetzen

  Alt 22. Mai 2009, 07:06
Warum ersetzt du nicht, bevor die Daten im Grid landen (z.B. beim Einlesen aus DB)?
Markus Kinzler
  Mit Zitat antworten Zitat
Richie1103

Registriert seit: 2. Feb 2009
20 Beiträge
 
#3

Re: Programm um Umlaute in Tabelle(Stringgrid) zu Übersetzen

  Alt 22. Mai 2009, 10:16
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.
  Mit Zitat antworten Zitat
Richie1103

Registriert seit: 2. Feb 2009
20 Beiträge
 
#4

Re: Programm um Umlaute in Tabelle(Stringgrid) zu Übersetzen

  Alt 22. Mai 2009, 18:55
OK Danke für die Hilfe. Hat geklappt.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz