AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi erste zahl jeder zeile von textdokument ändern
Thema durchsuchen
Ansicht
Themen-Optionen

erste zahl jeder zeile von textdokument ändern

Ein Thema von Smeivel · begonnen am 7. Mai 2006 · letzter Beitrag vom 7. Mai 2006
Antwort Antwort
Smeivel

Registriert seit: 18. Apr 2006
Ort: Wolfhagen
29 Beiträge
 
#1

erste zahl jeder zeile von textdokument ändern

  Alt 7. Mai 2006, 15:33
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!
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: erste zahl jeder zeile von textdokument ändern

  Alt 7. Mai 2006, 16:53
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:
// 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;
Gruß Der Unwissende
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#3

Re: erste zahl jeder zeile von textdokument ändern

  Alt 7. Mai 2006, 18:18
Hallo Smeivel,

auf das erste Zeichen greifst du entweder mit:

Delphi-Quellcode:
for i := 0 to myList.Count -1 do
begin
  erstesZeichen := myList.Strings[i][1];
zu oder mit

Copy(myList.Strings[i], 1, 1) Bei der zweiten Version verlässt du nicht nicht auf eine spezielle interne Darstellung von Strings.

Du musst anders als im Code von Der_Unwissende aber auf Gleichheit mit '0' anstatt 0 prüfen.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
nat

Registriert seit: 10. Nov 2005
216 Beiträge
 
RAD-Studio 2009 Pro
 
#4

Re: erste zahl jeder zeile von textdokument ändern

  Alt 7. Mai 2006, 20:33
ich würde noch trim() bei jeder zeile verwenden um evtl voranstehende
whitespaces zu entfernen.
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:45 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