AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

String mit einer Datei abgleichen

Ein Thema von lucy · begonnen am 5. Nov 2022 · letzter Beitrag vom 7. Nov 2022
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von blawen
blawen

Registriert seit: 30. Nov 2003
Ort: Luterbach (CH)
696 Beiträge
 
Delphi 12 Athens
 
#1

AW: String mit einer Datei abgleichen

  Alt 6. Nov 2022, 13:07
Wenn ich es richtig verstanden habe, suchst Du in der Liste einen einmaligen und daher eindeutigen String.
Wieso benutzt Du nicht .find oder .IndexOf?

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Liste : TStringList;
  Index : Integer;
  bGefunden : Boolean;
begin
  Liste := TStringList.Create;
  try
    if OpenDialog1.Execute
    then begin
      Liste.LoadFromFile(OpenDialog1.FileName);
    end;

    // Findet den Eintrag nur mit dem Trennzeichen
    Label1.Caption := 'Der Suchstring ist in der Zeile: ' + IntToStr(Liste.IndexOf(Edit1.Text));

    // Findet den Eintrag nur mit dem Trennzeichen
    bGefunden := Liste.Find(edit1.text,Index);
    if bGefunden
      then Label2.Caption := 'Der Suchstring ist in der Zeile: ' + IntToStr(Index)
      else Label2.Caption := 'Nicht gefunden';

    // Meldet das erste gefundene Resultat
    // Findet auch Einträge, wenn das Trennzeichen nicht vorkommt
    // -> auch Teilstringe werden gefunden ('ab' -> 'abc,')
    // Allerdings musst Du hier mit einer Schleife arbeiten um sämtliche Einträge zu finden
    Liste.Find(edit1.text,Index);
    Label3.Caption := 'Der Suchstring ist in der Zeile: ' + IntToStr(Index);

  finally
    Liste.Free;
  end;
end;
Roland
  Mit Zitat antworten Zitat
lucy

Registriert seit: 25. Okt 2017
84 Beiträge
 
Delphi XE7 Starter
 
#2

AW: String mit einer Datei abgleichen

  Alt 6. Nov 2022, 13:13
Zitat:
Wenn ich es richtig verstanden habe, suchst Du in der Liste einen einmaligen und daher eindeutigen String.
Ja!

Schaue mir gleich mal Deinen Quelltext an.
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.176 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: String mit einer Datei abgleichen

  Alt 6. Nov 2022, 17:37
Habe mal beide Varianten (pro Zahl eine Zeile mit Komma am Ende und alle Zahlen kommagetrennt in 1 Zeile) in ein hier Testprojekt angehangen.

Was ist bei dir nun anders, dass es bei dir nicht funktioniert?
Beachte List1.dat und List2.dat
Angehängte Dateien
Dateityp: zip Test.zip (2,1 KB, 2x aufgerufen)
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
lucy

Registriert seit: 25. Okt 2017
84 Beiträge
 
Delphi XE7 Starter
 
#4

AW: String mit einer Datei abgleichen

  Alt 7. Nov 2022, 08:46
Zitat:
Habe mal beide Varianten (pro Zahl eine Zeile mit Komma am Ende und alle Zahlen kommagetrennt in 1 Zeile) in ein hier Testprojekt angehangen.

Was ist bei dir nun anders, dass es bei dir nicht funktioniert?
Beachte List1.dat und List2.dat
hat die Fehlermeldung was mit meiner Delphi - Version XE7 zu tun?
Angehängte Grafiken
Dateityp: jpg Fehler.JPG (19,6 KB, 15x aufgerufen)
Dateityp: jpg Fehlermeldung.JPG (25,7 KB, 20x aufgerufen)
Dateityp: jpg uses.JPG (20,7 KB, 11x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.176 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: String mit einer Datei abgleichen

  Alt 7. Nov 2022, 09:22
Da wird deine Version das TArray<STRING> wohl noch nicht unterstützen.
Genau aus diesem Grunde sollte man seine Delphiversion in seinem Profil hinterlegen.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.176 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: String mit einer Datei abgleichen

  Alt 7. Nov 2022, 09:24
—-doppelter Post—-, gelöscht
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
lucy

Registriert seit: 25. Okt 2017
84 Beiträge
 
Delphi XE7 Starter
 
#7

AW: String mit einer Datei abgleichen

  Alt 7. Nov 2022, 11:09
Zitat:
Genau aus diesem Grunde sollte man seine Delphiversion in seinem Profil hinterlegen.
"wurde geändert"
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.372 Beiträge
 
Delphi 12 Athens
 
#8

AW: String mit einer Datei abgleichen

  Alt 7. Nov 2022, 12:11
Ohh, eine Starter.

https://www.embarcadero.com/de/products/delphi/starter

Zu beachten: Die neuen Lizenzen sind nur noch ein Jahr gültig und müssen dann aktualisiert werden, sonst startet Delphi nicht mehr.
Und die neue CE-Lizenz ist auch nur mit der jeweils aktuellen Version gültig.

Keine Angst, deine alte Starter-Lizenz bleibt weiterhin (nahezu) unbegrenz gültig.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
hhcm

Registriert seit: 12. Feb 2006
Ort: Wegberg
310 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: String mit einer Datei abgleichen

  Alt 7. Nov 2022, 13:25
Ist es nicht einfacher mit DelimitedText bzw. Commatext zu arbeiten?

Delphi-Quellcode:
 
  Liste := TStringList.Create;
  try
    // Entweder DelimitedText
    Liste.Delimiter := ',';
    Liste.DelimitedText := TFile.ReadAllText('List.dat');

    // Oder in diesem Fall noch einfacher CommaText
    Liste.CommaText := TFile.ReadAllText('List.dat');

    // Mach was mit Liste
  finally
    Liste.Free;
  end;
Da sollte es egal sein, ob die Datei

So
---
12345,
4711,
0815

Oder so
---
12345,4711,0815

aufgebaut ist.
Ob es TFile bzw. ioutils bereits in XE7 gab weiss ich nicht.
Falls nicht, es gibt genügend Möglichkeiten eine Datei auszulesen.
Chris
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.372 Beiträge
 
Delphi 12 Athens
 
#10

AW: String mit einer Datei abgleichen

  Alt 7. Nov 2022, 13:40
Bei DelimitedText unbedingt auf StrictDelimiter=True achten, denn Leerzeichen, Tabs und so werden sonst ebnfalls als Delimiter angesehn. (war wieder mal 'ne saublöde Idee das so zu "reparieren", anstatt es richtig zu machen, bzw. dieses "kaputte" Verhalten standardmäßig abzuschalten)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 05:10 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