![]() |
erste zahl jeder zeile von textdokument ändern
Hallo erstmal!
ich habe ein Textdokument mit mehreren Telefonnummern (Nummer,Name) jetzt würde ich gerne ein kleines Programm machen was falls die nummer mit einer '0' beginnt diese 0 durch'0049' ersetzen bzw. wenn die nummer mit einer anderen zahl beginnt sie mit '05606' ersetzen. ich habe mir gedacht die nummern in eine stringlist zu laden diese nach dem prinzip zu ändern und dann mit SaveToFile wieder im Textdokument zu speichern, doch weiß ich nicht wie ich sagen kann dass ich nur die erste ziffer einer zeile auslesen bzw. ändern kann.Ich glaube dass man sowas am besten mit einer case-Schleife machen sollte oder? Vielen Dank im Voraus! |
Re: erste zahl jeder zeile von textdokument ändern
HI,
ähnlich wie der If-Schleife ging es auch der Case-Schleife, sie wurden nie erfunden. Es handelt sich um eine Anweisung (nicht um eine Schleife). Wenn dein Textdokument eine feste Struktur hat, dann solttest du diese ruhig ausnutzen. An sich kannst du natürlich schauen, ob du eine 0 in der Zeile findest und ob diese vor jeder anderen Ziffer liegt, aber wenn du z.B. immer Strings der Form 04857576 IrgendEinName hast, dann könntest du auch mittels
Delphi-Quellcode:
Gruß Der Unwissende
// mit list deiner StringList
if list.Count > 0 then begin for i := 0 to list.Count - 1 do begin if list[i][1] = 0 then begin // durch 0049 ersetzen end else begin // is klar end; end; end; |
Re: erste zahl jeder zeile von textdokument ändern
Hallo Smeivel,
auf das erste Zeichen greifst du entweder mit:
Delphi-Quellcode:
zu oder mit
for i := 0 to myList.Count -1 do
begin erstesZeichen := myList.Strings[i][1];
Delphi-Quellcode:
Bei der zweiten Version verlässt du nicht nicht auf eine spezielle interne Darstellung von Strings.
Copy(myList.Strings[i], 1, 1)
Du musst anders als im Code von Der_Unwissende aber auf Gleichheit mit '0' anstatt 0 prüfen. |
Re: erste zahl jeder zeile von textdokument ändern
ich würde noch trim() bei jeder zeile verwenden um evtl voranstehende
whitespaces zu entfernen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:20 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