![]() |
Einfache memo Ausgabe
Hallo Zusammen,
ich noch ein ziemlicher Anfänger und verstehe deshalb auch bestimmt nicht wo hier der Fehler ist!
Delphi-Quellcode:
mfg Ringer
procedure TTest_1.Button4Click(Sender: TObject);
var sInput: String; s:TStrings; sl:TStringList; char:pchar; begin sInput := 'C:\Test\Delphi_Projekte\Test_1\test.txt'; s:=TStrings.create; sl:=TStringlist.create; s.LoadFromFile(sInput); char:=pchar(s); ExtractStrings([','],[],char,sl); memo2.Lines.Add(sl[1]); s.Free; end; |
Re: Einfache memo Ausgabe
Hi! Also ich bin auch relativ neu hier, und hoffe ma, das ich mich jetzt nicht zuweit aus dem Fenster lehne.
Versuch ma sInput als TextFile zudeklarieren...
Delphi-Quellcode:
Wenn du sagst das
procedure TTest_1.Button4Click(Sender: TObject);
var sInput: TextFile; ...
Code:
dann muss auch die Variable in der sich deine Textdatei befindet als TextFile deklariert sein!
s.LoadFromFile(sInput)
Ich hoffe es hilft dir weiter |
Re: Einfache memo Ausgabe
Danke, aber funzt leider nicht! Ganz im Gegenteil jetzt läuft es nicht mehr :?: . Ich denke auch nicht das da das Problem aber wenn ich wüßte wo es wäre...
|
Re: Einfache memo Ausgabe
Was funktioniert nicht?
Text wird nicht geladen oder Fehlermeldung? Welche? |
Re: Einfache memo Ausgabe
Also es passiert einfach gar nichts!
Vielleicht auch noch wichtig die Textdatei sieht so aus: wert1,wert2,wert3,... mfg Ringer |
Re: Einfache memo Ausgabe
Kann mir mal bitte jemand auf deutsch erklären was ExtractStrings macht?
Zitat:
|
Re: Einfache memo Ausgabe
|
Re: Einfache memo Ausgabe
Im Debugger überprüft ob in der Stringlist vor und nach Extractstrings etwas enthalten ist ?
Oder entsprechend des Beispiels von Extract... statt s Memo.Lines als Parameter für Extractstrings angeben. |
Re: Einfache memo Ausgabe
Bei mir kommt da eine obergeniale Fehlermeldung, mit der ich wirklich viel anfangen kann:
Zitat:
Das habe ich ja noch nie gehört: ABSTRAKTER FEHLER. :mrgreen: |
Re: Einfache memo Ausgabe
Also den abstrakten Fehler hatte ich noch nicht :D .
Sonst habe ich die Ausgabe auch wie im Beispiel geändert! Aber ohne Erfolg! Ringer |
Re: Einfache memo Ausgabe
Hallo,
wenn du einfach nur eine Datei ins Memo laden willst, so schau die mal Lines.LoafFromFile an ;-) |
Re: Einfache memo Ausgabe
Danke aber ich will das halt nicht nur einfach machen :D
|
Re: Einfache memo Ausgabe
So funktioniert die Routine bei mir:
Delphi-Quellcode:
Das ganze geht jetzt nur davon aus, das das Textfile nur eine Zeile mit Werten enthält.
procedure TForm1.Button2Click(Sender: TObject);
var SL, Tokens: TStringList; i: Integer; begin SL := TStringList.Create; Tokens := TStringList.Create; SL.LoadFromFile('C:\test.txt'); for i := 0 to (ExtractStrings([','], [], PChar(SL.Text), Tokens) - 1) do Memo1.Lines.Add(Tokens[i]); SL.Free; Tokens.Free; end; Gruß Wormid |
Re: Einfache memo Ausgabe
Danke aber aus irgendeinen Grund will es bei mir nicht gehen...
Habe einen code zu 100% übernommen aber es will nicht :( Falls du noch eine Idee hast (vielleicht auch wie es mit mehreren zeilen gehen kann) einfach nochmal schicken! Vielen DANK Gruß Ringer |
Re: Einfache memo Ausgabe
Wie sieht denn dein Textfile aus?
Ich hatte mir zum Test eines erstellt mit diesem Inhalt: wert1,wert2,wert3,wert4 Mehr stand da nicht drin. |
Re: Einfache memo Ausgabe
Meines ging bis zu wert5 also
wert1,wert2,wert3,wert4,wert5 Vielleicht sind ja 5 Werte zu viel für mein notebook :wink: Ringer |
Re: Einfache memo Ausgabe
Bei mir geht die Lösung von Wormid, nur so nebenbei. ;)
Nachtag: Ich hab's mit 17 Werten gemacht. |
Re: Einfache memo Ausgabe
Um mehrere Zeilen nacheinander abzuarbeiten muss das so aussehen:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var SL, Tokens: TStringList; i, n: Integer; begin SL := TStringList.Create; Tokens := TStringList.Create; SL.LoadFromFile('C:\test.txt'); for n := 0 to SL.Count - 1 do begin Tokens.Clear; // Wenn man die Liste nicht leer macht, hängt // EtractStrings die neuen Werte an die Liste hinten // an. Aber das kann ja auch gewollt sein. ;-) for i := 0 to (ExtractStrings([','], [], PChar(SL[n]), Tokens) - 1) do Memo1.Lines.Add('Zeile ' + IntToStr(n + 1) + ': ' + Tokens[i]); end; SL.Free; Tokens.Free; end; |
Re: Einfache memo Ausgabe
Habe jetzt gerade ein neues Projekt erstellt und alleine läuft es!! Also liegt der Fehler irgendwo in meinen activex control... :?: :?:
Also danke! Falls du mir noch schreibst wie ich mehrere Zeile auslese, machst du einen seit Stunden verzweifelten Menschen mehr als glücklich :!: Vielen DANK! Gruß Ringer |
Re: Einfache memo Ausgabe
Zitat:
|
Re: Einfache memo Ausgabe
Zitat:
Wenn Du alle Werte in einer Liste haben willst, dann muss nur das Tokens.Clear gelöscht werden... Gruß Wormid |
Re: Einfache memo Ausgabe
Also Danke nochmal!
Gruß Ringer |
Re: Einfache memo Ausgabe
Moin Zusammen,
@Akut-Programming: Die Methode LoadFromFile erwartet als Parameter einen String der den Pfad zu der Datei enthält, aus der die StringListe geladen werden soll, also ist eine Variable vom Typ String völlig Ok. Du hast das vermutlich mit den "alten" Funktionen für Dateizugriffe (AssignFile, Reset, Rewrite...) verwechselt. @Matze: Falls Dich das Thema "Abstrakt" weiter interessiert: Wir hatten das hier erst vor ein paar Tagen. ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:25 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