AGB  ·  Datenschutz  ·  Impressum  







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

Text-Dateien in Delphi7

Ein Thema von Frischling · begonnen am 4. Dez 2006 · letzter Beitrag vom 6. Dez 2006
Antwort Antwort
Seite 2 von 2     12   
mkinzler
(Moderator)

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

Re: Text-Dateien in Delphi7

  Alt 6. Dez 2006, 11:47
memo.Lines ist übrigens vom typ TStrings.
Markus Kinzler
  Mit Zitat antworten Zitat
Frischling

Registriert seit: 4. Dez 2006
24 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Text-Dateien in Delphi7

  Alt 6. Dez 2006, 12:31
Ok, das scheinz jetzt zu klappen. Danke dir. Aber die Probleme wollen irgendwie nicht enden.
Ich habe jetzt ein bissel umgeschrieben:

Delphi-Quellcode:
procedure TForm1.ComboBox1Change(Sender: TObject);

begin

if strings.Count > 0 then
    begin
      for i := 0 to strings.Count - 1 do
         begin
          s := strings;
          If ComboBox1.items=strings then
           Memo1.Lines:=s;
         end;
    end;
    strings.Free;
end;

begin
  strings := TStringList.Create;

  try
    path := ExtractFilePath(ParamStr(0));
    path := path + 'Testdatei.txt';
    strings.LoadFromFile(path);
  finally

  end;
1. Die Variable strings scheint die Strings aus der Textdatei nicht einzulesen. Ich habe den inhalt von strings verfolgt und es erscheint nur ().
Woran kann das nun wieder liegen? Ist sicher nur ein kleiner Fehler.

2. Der Text aus der ComboBox1 soll in der Datei gesucht werden. Da bekomme ich wieder den TString/String-Fehler. Also habe ich nicht ComboBox1.Text, sondern ComboBox1.Items verwendet. So wie ich das verstehe, wird mir das aber keine genauen Ergebnisse liefern, da alle Item-Werte durchsucht werden und nicht, wie geplant, das ausgewählte.
Wie kann ich also ComboBox.Text "TString-kompatibel" machen?


EDIT:
Das ist nur der veränderte Code. Der Rest ist so wie im letzten Post.
  Mit Zitat antworten Zitat
Frischling

Registriert seit: 4. Dez 2006
24 Beiträge
 
Delphi 7 Enterprise
 
#13

Re: Text-Dateien in Delphi7

  Alt 6. Dez 2006, 13:11
Sorry wegen dem Doppelpost, aber ich bin wieder etwas weiter gekommen*froi*

Delphi-Quellcode:
procedure TForm1.ComboBox1Change(Sender: TObject);
 var strings,s:TStrings;
       path:String;
       i:Integer;
begin
strings := TStringList.Create;

  try
    path := ExtractFilePath(ParamStr(0));
    path := path + 'Testdatei.txt';
    strings.LoadFromFile(path);

  if strings.Count > 0 then
    begin
      for i := 0 to strings.Count - 1 do
         begin
          s := strings;
          If ComboBox1.text=strings[i] then
           Memo1.Lines:=s;
         end;
    end;
    finally
    strings.Free;
end;
end;
Jetzt wird mir im Memo-Feld aber der gesamte Inhalt der Datei angezeigt, was ich ja nicht will.
Egal wierum ich es drehe, ich gerate immer in einen String/String-Konflikt.

Weiss da jemand eine Lösung für?

P.s.
Ich weiss, ich bin ein schwerer Fall^^
  Mit Zitat antworten Zitat
Benutzerbild von thkerkmann
thkerkmann

Registriert seit: 7. Jan 2006
Ort: Pulheim Brauweiler
464 Beiträge
 
Delphi 2010 Professional
 
#14

Re: Text-Dateien in Delphi7

  Alt 6. Dez 2006, 14:17
Hi,

Zeile 17 sollte lauten:

s := strings[i]; Gruss
Thomas Kerkmann
Ich hab noch einen Koffer in Borland.
http://thomaskerkmann.wordpress.com/
  Mit Zitat antworten Zitat
Frischling

Registriert seit: 4. Dez 2006
24 Beiträge
 
Delphi 7 Enterprise
 
#15

Re: Text-Dateien in Delphi7

  Alt 6. Dez 2006, 15:00
Genau da liegt ja das Problem. Ich bekomme die Fehelrmeldung "Inkompatible Typen: TString und String", obwohl s und strings beide vom Typ TString sind.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.757 Beiträge
 
Delphi 10.4 Sydney
 
#16

Re: Text-Dateien in Delphi7

  Alt 6. Dez 2006, 15:28
Delphi-Quellcode:
procedure TForm1.ComboBox1Change(Sender: TObject);
var strings:TStrings;
       path:String;
       i:Integer;
begin
strings := TStringList.Create;

  try
    path := ExtractFilePath(ParamStr(0));
    path := path + 'Testdatei.txt';
    strings.LoadFromFile(path);

  if strings.Count > 0 then
    begin
      for i := 0 to strings.Count - 1 do
         begin
          If ComboBox1.text=strings[i] then
           Memo1.Lines.add(strings[i]);
         end;
    end;
    finally
    strings.Free;
end;
end;
So sollte es funktionieren.
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Frischling

Registriert seit: 4. Dez 2006
24 Beiträge
 
Delphi 7 Enterprise
 
#17

Re: Text-Dateien in Delphi7

  Alt 6. Dez 2006, 15:51
Danke dir Klaus01, hat super geklappt. Dann kanns ja weitergehen
  Mit Zitat antworten Zitat
Frischling

Registriert seit: 4. Dez 2006
24 Beiträge
 
Delphi 7 Enterprise
 
#18

Re: Text-Dateien in Delphi7

  Alt 6. Dez 2006, 17:39
Tadaaa, ich bin wieder da <---passt eigentlich nicht zu meiner Situation^^

Ich versuch wie ein Wilder was vernünftiges über pos und copy rauszufinden, aber überall nicht Halbes und nichts Ganzes.

Ich möchte mich jetzt langsam an folgendes herantasten:

Nachdem ich es mit eurer Hilfe geschafft habe, einen Wert aus ComboBox.Text in der Textdatei zu suchen und in ein Memo-Feld zu schreiben, möchte ich nun, dass diesem Wert weitere Folgen(Wert1,Wert2,Wertn).

Als erstes möchte ich den ersten Wert, der mit ComboBox.Text übereinstimmt, abspalten, damit überhaupt etwas im Memo-Feld erscheint. Nur leider haperts an inkompatiblem Typen.

Delphi-Quellcode:
procedure TForm1.ComboBox1Change(Sender: TObject);
 var strings,p:TStrings;
       path:String;
       i:Integer;
begin
strings := TStringList.Create;

  try
    path := ExtractFilePath(ParamStr(0));
    path := path + 'Testdatei.txt';
    strings.LoadFromFile(path);

  if strings.Count > 0 then
    begin
      Memo1.Clear;
      for i := 0 to strings.Count - 1 do
         begin
         p:=pos(',',strings); //Fehlermeldung 'inkompatible Typen'
           If ComboBox1.text=copy(strings,1,p-1) then //die kommt dann hier sicher auch
           Memo1.Lines.add(strings[i]);

         end;

    end;
    finally
    strings.Free;
end;
end;
Das heisst also wiedermal: HÜÜÜÜÜÜLFE!

P.s.
Mein Kopf dröhnt
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.757 Beiträge
 
Delphi 10.4 Sydney
 
#19

Re: Text-Dateien in Delphi7

  Alt 6. Dez 2006, 18:27
Delphi-Quellcode:
procedure TForm1.ComboBox1Change(Sender: TObject);
var strings:TStringList;
      p:Byte;
       path:String;
       i:Integer;
begin
strings := TStringList.Create;

  try
    path := ExtractFilePath(ParamStr(0));
    path := path + 'Testdatei.txt';
    strings.LoadFromFile(path);

  if strings.Count > 0 then
    begin
      Memo1.Clear;
      for i := 0 to strings.Count - 1 do
         begin
         p:=pos(',',strings[i]); //Fehlermeldung 'inkompatible Typen'
           If ComboBox1.text=copy(strings[i],1,p-1) then //die kommt dann hier sicher auch
           Memo1.Lines.add(strings[i]);

         end;

    end;
    finally
    strings.Free;
end;
end;
Also, eigentlich heißt es hier pro Problem einen Thread aufzuachen, daß solltest auch Du machen.

pos liefert keinen String zurück sonder eine ganzzahlige Zahl.
Dann sollte Dir mittlerweile klar sein, daß eine StringList eine Liste mit Strings ist.
Also bei Dir ist strings eine StringListe wenn Du strings einfach so übergibst, übergibst Du die komplette StringList. Ein Element der StringList sprichst Du mit strings[index] an.

Habe oben mal etwas korrigiert.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Frischling

Registriert seit: 4. Dez 2006
24 Beiträge
 
Delphi 7 Enterprise
 
#20

Re: Text-Dateien in Delphi7

  Alt 6. Dez 2006, 18:47
Erstmal wieder ein Danke für die Hilfe. Die Ausgabe hat so zwar noch nicht gestimmt, habs aber selbst hinbekommen*froi*

Das Problem, das mich dazu bewogen hat, diesen thread zu öffnen, ist noch nicht behoben. Am Anfang wollte ich gleich alles, hab aber schnell gemerkt, dass ich mich an die Endlösung erst herantasten muss. Deshalb kommen hier soviele Fragen.
Es ist nur noch eine einzige Frage offen und DIE werde ich hoffentlich selbst lösen können.

Aber ich verstehe natürlich die "Eine-Frage-Ein-Thread"-Taktik. Ich selbst profitiere ja von der Übersichtlichkeit.

Grüße
Frischling
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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:48 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