Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Textdateien bestimmte Zeile löschen. (https://www.delphipraxis.net/184270-textdateien-bestimmte-zeile-loeschen.html)

M1ndgr4ve 13. Mär 2015 12:19

Textdateien bestimmte Zeile löschen.
 
Guten Tag

Bei meinem Programm speichert man eine TreeView Konfiguration als Textdatei ab. Die namen der gespeicherten Dateien stehen in einer ComboBox zum Abruf bereit.
Ich möchte nun die gespeicherten Dateien auch wieder Löschen können per Knopfdruck. Bzw. das wären ja dann Textzeilen die gelöscht werden.
Ich habe schon echt viel ausprobiert und kriegs einfach nicht hin das man eine beliebig ausgewählte Zeile/Datei löschen kann.
Kann mir jemand helfen?

Greez

p80286 13. Mär 2015 12:32

AW: Textdateien bestimmte Zeile löschen.
 
Zitat:

Zitat von M1ndgr4ve (Beitrag 1293366)
Ich habe schon echt viel ausprobiert und kriegs einfach nicht hin das man eine beliebig ausgewählte Zeile/Datei löschen kann.

Und was hast du ausprobiert?

Delphi-Quellcode:
mystringlist:=tstringlist.create;
mystringlist.LoadfromFile('MeineDatei');
if myStringlist.Indexof('gesuchterString)>-1 then
  myStringlist.Delete(myStringlist.Indexof('gesuchterString));
myStringlist.Savetofile(MeineDatei');
myStringlist.Free;
das wäre z.B. eine Möglichkeit
oder du kopierst alle Zeilen aus einer Textdatei in eine andere Textdatei wenn die gelesene Zeile nicht gleich dem zu löschenden Wert ist, oder......

Gruß
K-H

Der schöne Günther 13. Mär 2015 12:34

AW: Textdateien bestimmte Zeile löschen.
 
Stimmt,
Delphi-Quellcode:
TStrings
ist eigentlich noch besser. Ich hätte es spontan über String-Arrays gemacht:

Delphi-Quellcode:
uses System.IoUtils, System.Types;

procedure löscheZeile(const fileName: String; const deleteLine: Integer);
var
   originalLines:   TStringDynArray;
   newLines:      TStringDynArray;

   originalLineIndex:   Integer;
   newLineIndex:      Integer;
begin
   originalLines := TFile.ReadAllLines(fileName);

   SetLength(newLines, Length(originalLines) - 1);
   newLineIndex := 0;
   for originalLineIndex := Low(originalLines) to High(originalLines) do
      if (originalLineIndex <> deleteLine) then begin
         newLines[newLineIndex] := originalLines[originalLineIndex];
         Inc(newLineIndex);
      end;

   TFile.WriteAllLines(fileName, newLines);
end;

BadenPower 13. Mär 2015 12:41

AW: Textdateien bestimmte Zeile löschen.
 
Zitat:

Zitat von M1ndgr4ve (Beitrag 1293366)
Bei meinem Programm speichert man eine TreeView Konfiguration als Textdatei ab. Die namen der gespeicherten Dateien stehen in einer ComboBox zum Abruf bereit.
Ich möchte nun die gespeicherten Dateien auch wieder Löschen können per Knopfdruck. Bzw. das wären ja dann Textzeilen die gelöscht werden.
Ich habe schon echt viel ausprobiert und kriegs einfach nicht hin das man eine beliebig ausgewählte Zeile/Datei löschen kann.
Kann mir jemand helfen?

Diese Beschreibung Deines Vorhabens ist wirr, wie immer.

Es stellt sich zunächst die Frage was eigentlich gelöscht werden soll.

Die einzelnen Konfigurationsdateien der Treeview auf der Festplatte oder nur der Eintrag (also der Dateiname) in der ComboBox?

Der schöne Günther 13. Mär 2015 12:50

AW: Textdateien bestimmte Zeile löschen.
 
Ich habe die Beschreibung ehrlich gesagt auch nicht verstanden, aber immerhin die Überschrift. :stupid:

p80286 13. Mär 2015 12:51

AW: Textdateien bestimmte Zeile löschen.
 
[OT]
Zitat:

Zitat von BadenPower (Beitrag 1293369)

Diese Beschreibung Deines Vorhabens ist wirr, wie immer.

Kommt darauf an wo man arbeitet, da ist man manchmal einiges gewohnt.
Es gibt Arbeitgeber die brauchen Gedankenleser und Hellseher, keine Programmierer!
:glaskugel:
Gruß
K-H
[/OT]

himitsu 13. Mär 2015 12:59

AW: Textdateien bestimmte Zeile löschen.
 
Delphi-Quellcode:
procedure löscheZeile(const FileName: String; const DeleteLine: Integer);
var
  Lines: TArray<String>;
begin
  Lines := TFile.ReadAllLines(FileName);
  Delete(Lines, DeleteLine);
  TFile.WriteAllLines(FileName, Lines);
end;
:stupid:

Und dann natürlich noch ReadLn und WriteLn, wobei man die eine Zeile überspringt. (nicht speichert)


Zitat:

Zitat von BadenPower (Beitrag 1293369)
Diese Beschreibung Deines Vorhabens ist wirr, wie immer.

Klang teilweise so, als wenn in den Tree-Zeilen Dateinamen stehen und man die Dateien löschen will,
drum sagte ich mir "nee, keine Lust das jetzt zu verstehen .... ich geh erstma Mittag essen" :roll:

Der schöne Günther 13. Mär 2015 13:01

AW: Textdateien bestimmte Zeile löschen.
 
Bei ihm steht aber XE6. Nicht XE7 :lol:

himitsu 13. Mär 2015 13:03

AW: Textdateien bestimmte Zeile löschen.
 
Werbung :zwinker:

Aber ein Array-Delete hatte ich mir seit vielen Jahren eh schon selber gebaut
und seit 2009 auch als
Delphi-Quellcode:
TArray<string>.Delete(Lines, DeleteLine);
. :angel:

Perlsau 13. Mär 2015 13:22

AW: Textdateien bestimmte Zeile löschen.
 
Zitat:

Zitat von M1ndgr4ve (Beitrag 1293366)
Kann mir jemand helfen?Greez

Du meinst jetzt wirklich helfen, wie man es dort vor einigen Tagen bereits versucht hat?

Wieso erlenst du nicht erst einmal die Grundlagen der Delphi-Programmierung, indem du das eine und/oder andere Tutorial durcharbeitest? Dabei würdest du nämlich ein grundlegendes Verständnis für Delphi und die verfügbaren Komponenten entwickeln. Einfach so draufloslegen und nach zwei drei Wochen glauben, man könne programmieren, geht mit Sicherheit frontal in die Hose :lol:

M1ndgr4ve 16. Mär 2015 07:59

AW: Textdateien bestimmte Zeile löschen.
 
Danke an alle die mir helfen. Jetz hab ich wieder was woran ich rumbasteln Kann bis es klappt.


Ich weis nicht was an meiner Frage nicht verständlich sein soll.

Wenn ich eine bestimmte Zeile löschen möchte ist es doch naheliegend das ich nicht nur den ComboBox eintrag löschen will oder?

Und Perlsau? Ich arbeite mit einem Buch zusammen wo ich sehr wohl etwas daraus lerne nur ist da nicht alles beschrieben.

Mein Chef lässt mich Eiskalt auflaufen ich muss mir das selber beibringen und ich denke dieses Forum hier ist unter anderem auch für das gedacht.


Wissen teilen.

Wenn ihr kein Bock habt zu Antworten dann tuts auch nicht. Stört mich nicht.


Bis jetz hab ichs in die Richtung versucht. Natürlich wäre das lange nicht alles. Hab das ganze wieder übern ganzen Code verteilt und ausprobiert^^

procedure LoescheZeileAusDatei(sDatei: String; iZeile: Integer);
var
sl: TStringList;
begin
sl := TStringList.Create;
try
sl.LoadFromFile(sDatei);
sl.Delete(iZeile -1);
sl.SaveToFile(sDatei);
finally
sl.Free;
end;
end;

Peace

BadenPower 16. Mär 2015 09:06

AW: Textdateien bestimmte Zeile löschen.
 
Delphi-Quellcode:
procedure LoescheZeileAusDatei(sDatei: String; iZeile: Integer);
var
  sl: TStringList;
begin
  sl := TStringList.Create;
  try
    sl.LoadFromFile(sDatei);
    sl.Delete(iZeile -1);
    sl.SaveToFile(sDatei);
  finally
    sl.Free;
  end;
end;
Jetzt hast Du die entsprechende Zeile in der Datei gelöscht. Wenn ich jetzt richtig verstanden habe, dann ist es das, was Du wolltest?


Und ja, wir wollen Dir helfen, wenn wir wissen womit.


Zitat:

Zitat von M1ndgr4ve (Beitrag 1293562)
Ich weis nicht was an meiner Frage nicht verständlich sein soll.

Wenn ich eine bestimmte Zeile löschen möchte ist es doch naheliegend das ich nicht nur den ComboBox eintrag löschen will oder?

Schau einmal in Deinem 1.Post, vielleicht siehst Du dann das Verständnisproblem:

Zitat:

Zitat von M1ndgr4ve (Beitrag 1293366)
Bei meinem Programm speichert man eine TreeView Konfiguration als Textdatei ab.
...
Ich möchte nun die gespeicherten Dateien auch wieder Löschen können per Knopfdruck.

Du schreibst, dass Du irgendetwas als Datei speicherst und per Knopfdruck die gespeicherten Dateien löschen möchtest.

Aber scheinbar willst Du doch nicht DIESE Dateien löschen, sondern nur eine Zeile in einer weiteren Datei löschen.

M1ndgr4ve 16. Mär 2015 09:12

AW: Textdateien bestimmte Zeile löschen.
 
Ok ich gebe mir Mühe in Zukunft meine Fragen verständlicher zu formulieren.

Den Code den ich gepostet habe ist nur mein ansatz.

Nur Leider funktioniert der trotzdem nicht ^^

himitsu 16. Mär 2015 09:15

AW: Textdateien bestimmte Zeile löschen.
 
Der Code funktioniert definitiv und macht genau das, was er soll,

wenn man ihn ordentlich füttert:
sDatei = Dateiname, am Besten inkl. absoluter Pfadangabe
iZeile = zu löschende Zeile -> 1-indiziert, also 1. Zeile = Index 1


Wenn er nicht funktioniert: Dann fehlt von dir die Fehlerbeschreibung.
(was geht nicht, bzw. was passiert stattdessen und wie wurde der "Ansatz" nun endgültig implementiert)

BadenPower 16. Mär 2015 09:20

AW: Textdateien bestimmte Zeile löschen.
 
Zitat:

Zitat von M1ndgr4ve (Beitrag 1293571)
Den Code den ich gepostet habe ist nur mein ansatz.

Der Ansatz ist Absolut richtig und ich kann himitsu nur beipflichten, dass er perfekt funktioniert.

Zitat:

Zitat von M1ndgr4ve (Beitrag 1293571)
Nur Leider funktioniert der trotzdem nicht ^^

Dies ist wieder so eine schwammige Aussage, mit der wir nichts anfangen können. Wir können doch nicht jedesmal die Glaskugel herausholen.

Was funktioniert denn nicht???

Perlsau 16. Mär 2015 09:28

AW: Textdateien bestimmte Zeile löschen.
 
Zitat:

Zitat von M1ndgr4ve (Beitrag 1293562)
Und Perlsau? Ich arbeite mit einem Buch zusammen wo ich sehr wohl etwas daraus lerne nur ist da nicht alles beschrieben.

Möglicherweise ein für Anfänger ungeeignetes Buch?

Zitat:

Zitat von M1ndgr4ve (Beitrag 1293562)
Mein Chef lässt mich Eiskalt auflaufen ich muss mir das selber beibringen und ich denke dieses Forum hier ist unter anderem auch für das gedacht.

Verstehe ich das richtig? Du hast einen Arbeitsplatz, an dem du Aufgaben erledigen mußt, für die deine Fähigkeiten und dein Kenntnisstand nicht ausreichen?

Zitat:

Zitat von M1ndgr4ve (Beitrag 1293562)
Wissen teilen. Wenn ihr kein Bock habt zu Antworten dann tuts auch nicht. Stört mich nicht.

Naja, wenn man dir erst all die Grundlagen erklären muß, die zum Verständnis der Antwort unabdinglich sind, sollte es eigentlich schon erlaubt sein, darauf hinzuweisen. Oder siehst du das anders?

Zitat:

Zitat von M1ndgr4ve (Beitrag 1293366)
Bei meinem Programm speichert man eine TreeView Konfiguration als Textdatei ab. Die namen der gespeicherten Dateien stehen in einer ComboBox zum Abruf bereit. Ich möchte nun die gespeicherten Dateien auch wieder Löschen können per Knopfdruck. Bzw. das wären ja dann Textzeilen die gelöscht werden. Ich habe schon echt viel ausprobiert und kriegs einfach nicht hin das man eine beliebig ausgewählte Zeile/Datei löschen kann. Kann mir jemand helfen?

Also irgendwie ist mir hier nicht so ganz klargeworden, was du tatsächlich löschen möchtest: Textdateien oder Einträge in deiner ComboBox? Oder beides? Aber egal, beide Aufgabenstellungen betreffen das absolute Minimum an Grundlagenwissen.

Zitat:

Zitat von M1ndgr4ve (Beitrag 1293366)
Zumm öffnen dachte ich mir das könnte man mit einer TComboBox machen

Wenn ich dann sowas lese, weiß ich sofort, daß du hier was grundsätzlich mißverstanden hast: Eine ComboBox dient nicht zum Öffnen irgendwelcher Dateien, sondern lediglich zur Anzeige einer Liste von Stringvariablen, genannt StringList, die man speichern und laden und die man erweitern oder einzelne Items löschen kann. Wie das geht, steht ausführlich in der Online-Hilfe der Komponente beschrieben.

Darauf hattest du eine sinnvolle Antwort erhalten, die du aber nicht verstehen konntest, weil dir grundlegende Basiskenntnisse fehlen, was du mit der Nachfrage "Ok? Ääähm und jetz speziell für mich bitte" unterstrichen hast. Mir ist nicht ganz klar, was du dir unter einer Antwort "speziell für dich" genau vorstellst. Im Ganzen wirken deine Ausführungen und Antworten zumindest auf mich doch recht konfus, was den Eindruck, dir fehlen wesentliche Grundlagen zum Verständnis, verstärkt.

Das ist nicht böse gemeint, sondern ein wohlgemeinter Hinweis, daß du so nicht weit kommen wirst. Du kannst hier noch so viele Fragen stellen: Wenn dir die Basiskenntnisse fehlen, wirst du die Antworten weiterhin nicht verstehen. Daher mein Rat, doch mal ein zwei gute Tutorials durchzuarbeiten, um dir diese Basiskenntnisse anzueignen, bevor du Anwendungen entwickelst, die in einer Produktionsumgebung (dein Arbeitsplatz) zuverlässig arbeiten sollen. Du tust dir damit letztendlich selbst einen großen Gefallen, wogegen du mit irgendwelchen Murks-Programmen, die mal funktionieren und mal nicht, deinen Arbeitsplatz wohl eher gefährdest.

p80286 16. Mär 2015 09:37

AW: Textdateien bestimmte Zeile löschen.
 
Zitat:

Zitat von M1ndgr4ve (Beitrag 1293571)

Nur Leider funktioniert der trotzdem nicht ^^

Da der Code als solcher garantiert funktioniert, schein es mir als ob er nicht tut, was Du Dir erhoffst. Und das scheint etwas anderes zu sein als "eine Zeile aus einer Textdatei löschen".

Also was möchtest Du erreichen, und vergiss bitte nicht wir wissen nicht was Du im Kopf hast, was Dir selbstverständlich erscheint müssen wir nicht unbedingt wissen.

Gruß
K-H

himitsu 16. Mär 2015 09:45

AW: Textdateien bestimmte Zeile löschen.
 
Zitat:

Zitat von Perlsau (Beitrag 1293579)
wogegen du mit irgendwelchen Murks-Programmen, die mal funktionieren und mal nicht, deinen Arbeitsplatz wohl eher gefährdest.

Abgesehn von eventuellen Schadensersatzforderungen, jenachdem was das Programm nun eigentlich machen soll und was es alles kaputt machen kann.

M1ndgr4ve 16. Mär 2015 10:13

AW: Textdateien bestimmte Zeile löschen.
 
Wenn ihr sagt das muss Funktionieren dann liegt das Problem vermutlich hier^^

procedure TForm1.LöschenClick(Sender: TObject);

Dann macht der Button nicht das was er sollte.

Bin auch da immerwieder am rumprobieren und Löschen und wieder von vorne...

mkinzler 16. Mär 2015 10:22

AW: Textdateien bestimmte Zeile löschen.
 
Und was steht in dieser Methode?

M1ndgr4ve 16. Mär 2015 10:28

AW: Textdateien bestimmte Zeile löschen.
 
Ja stimmt es gibt sicherlich viele Grundlagen von denen ich noch gar nichts weis.

Bin ja auch nur ein Praktikant.

Doch ich weis durchaus wie ich mit einem Pc umzugehen habe.

Von wegen gefährdung meines Arbeitsplatzes.

Und mir ist klar wofür eine ComboBox gedacht ist...

Alles was ich wissen wollte ist wie ihr das machen würdet.

Aber egal jetz ich hab wichtigeres zu tun als über meine Kompetenzen im Umgang mit Delphi zu diskutieren.

BadenPower 16. Mär 2015 10:30

AW: Textdateien bestimmte Zeile löschen.
 
Zitat:

Zitat von M1ndgr4ve (Beitrag 1293586)
Wenn ihr sagt das muss Funktionieren dann liegt das Problem vermutlich hier^^

procedure TForm1.LöschenClick(Sender: TObject);

Dann macht der Button nicht das was er sollte.

Du machst uns das Leben zur Hölle!

Du präsentierst uns eine Prozedure-Deklaration.

Dem Namen nach zu urteilen und schon dies müssen wir nun selbst erraten, handelt es sich um die Zuweisung zum OnClick-Ereignis eines Buttons Names "Löschen".

Aber was in der Prozedure gemacht wird, dass verschweigst Du uns.

Der einzige der wissen kann, was in dieser Prozedur steht, das bist Du.

Wie sollen wir Dir helfen?

M1ndgr4ve 16. Mär 2015 10:30

AW: Textdateien bestimmte Zeile löschen.
 
@mkinzler

Momentan eben gar nix mehr da ich gar nicht mehr weis wo ich ansetzen soll.

BadenPower 16. Mär 2015 10:33

AW: Textdateien bestimmte Zeile löschen.
 
Zitat:

Zitat von M1ndgr4ve (Beitrag 1293598)
Momentan eben gar nix mehr da ich gar nicht mehr weis wo ich ansetzen soll.

Du hast doch jetzt die Funktion/Prozedure/Methode, welche eine Zeile in einer Datei löschen kann.

Nun musst Du in Deinem Buttonereignis diese Funktion mit den notwendigen Parametern -> Dateiname und Zeile aufrufen, damit sie auch ausgeführt wird.

himitsu 16. Mär 2015 10:50

AW: Textdateien bestimmte Zeile löschen.
 
Zitat:

Alles was ich wissen wollte ist wie ihr das machen würdet.
Dazu gibt es bereits mehrere Antworten.
Komplett fertige Programme/Funktionen gibt es in der Jobböse zu erwerben.

Aber da du es nicht für nötig hälst uns alle nötigen Informationen zu geben, kann dir auch keiner helfen, da keiner weiß was du willst, bzw. was du falsch machst.

M1ndgr4ve 16. Mär 2015 10:57

AW: Textdateien bestimmte Zeile löschen.
 
Ja weil ich die nötigen Informationen selber nicht hab !!

Sonst wäre ich ja wohl nicht hier und würde fragen stellen.

Was man an "Textdateien bestimmte Zeile löschen" nicht versteht weis ich auch nicht...

Mag jetz auch gar nicht mehr diskutieren weil anscheinend ist hier nicht das problem das mich niemand versteht sondern das ihr alle Fachchinesisch erwartet und da kann ich halt

jetz nicht mitmachen.

mkinzler 16. Mär 2015 11:02

AW: Textdateien bestimmte Zeile löschen.
 
Du hast eine Funktion, welche eine Zeile löscht (welche) funktioniert, aber keinen Schimmer, wie man diese aufruft.
Es ist also nichtz das Problem, dass Dir niemnad helfen will, sondern Dir fehlt einfach das notwendige Basiswissen!

Perlsau 16. Mär 2015 11:09

AW: Textdateien bestimmte Zeile löschen.
 
Zitat:

Zitat von mkinzler (Beitrag 1293619)
Es ist also nichtz das Problem, dass Dir niemnad helfen will, sondern Dir fehlt einfach das notwendige Basiswissen!

Sag ich doch! Aber das will er ja nicht wissen. Er will von uns ein fertiges Programm haben, und das kriegt er hier nicht.

BadenPower 16. Mär 2015 11:13

AW: Textdateien bestimmte Zeile löschen.
 
Zitat:

Zitat von M1ndgr4ve (Beitrag 1293617)
Ja weil ich die nötigen Informationen selber nicht hab !!

Du und nur Du hast die Informationen, welche wir benötigen um Dir zu helfen.

Die Informationen sind Dein Code, welchen Du bisher programmiert hast und das, was Du erreichen willst.

Es ist nicht das Problem, dass Dich keiner verstehen WILL, sondern dass Dich keiner verstehen KANN, weil Du uns nicht mitteilst, wie der Ablauf Deines Programmes aussehen soll.

Poste einmal Deinen bisherigen Code und eine EXAKTE Funktionsbeschreibung, was geschehen soll, wenn Du was machst.

Dejan Vu 16. Mär 2015 11:36

AW: Textdateien bestimmte Zeile löschen.
 
Zitat:

Zitat von BadenPower (Beitrag 1293597)
Du machst uns das Leben zur Hölle!

Und davon hängt dein Lebensglück ab? Also ich les mir das durch, kombiniere das mit der Überschrift, schmeiß das raus, was man gemeinhin als "schwer verständlich" bezeichnet, aus der Frage und wenn das, was übrig bleibt, verständlich ist, kann ich antworten.

Das konnten hier doch einige, ohne das ihnen das Lebensglück aus den Händen gleitet. Anfänger tun sich nun einmal schwer, Dinge, die sie erst noch verstehen müssen, formal korrekt zu beschreiben.

Anstatt ständig auf den nicht perfekt formulierten Fragen herumzureiten, könnte man sich auch raushalten und so den Anteil der konstruktiven Beiträge erhöhen.

Ja, ich hätte es auch machen können. Aber ich bin nun einmal nicht weiser als Du oder manch anderer, der sich seitenlang über Jobdefinitionen auslässt. ;-)

Also: Mach dein Lebensglück (oder das Gegenteil, die Hölle) lieber von handfesten Dingen abhängig. Ich war neulich z.B. in einem Hotel, das hatte kein Bier. DAS macht einem das Leben zur Hölle.:stupid:

BadenPower 16. Mär 2015 11:53

AW: Textdateien bestimmte Zeile löschen.
 
Zitat:

Zitat von Dejan Vu (Beitrag 1293625)
Ja, ich hätte es auch machen können.

Das zweite mal in diesem Forum, bei dem ich Dir vollständig zustimme, aber auch gehofft hätte Du hättest es getan.

M1ndgr4ve 16. Mär 2015 12:23

AW: Textdateien bestimmte Zeile löschen.
 
Also ich versuchs nochmal :D

Die TreeView Konfiguration die ich momentan habe speichere ich in einem Textdokument ab. In diesem Textdokument werden dann Zeilen erstellt durch meinen Save vorgang der ja

mittlerweile funktioniert.

Alles was ich gesaved habe erscheint dann unter dem gespeicherten Dateinamen in der ComboBox, bereit zum auswählen und Laden. Funktioniert auch.

Jetz möchte ich das was ich in der ComboBox selektiert habe nicht nur Laden können sondern auch wieder Löschen. Und damit tue ich mich grad sehr schwer.

Ich weis selber das es Theoretisch ja einfach wäre, da es ja wie schon oft erwähnt mit den Delphi Grundkenntnissen machbar wäre.

Und ich würde euch ja Code schicken wenn ich welchen hätte. Die eine Prozedur habt ihr ja schon gesehn und die sollte ja auch funktionieren.

Was jetz nicht geht ist die Prozedur mit dem ButtonClick. Und alles was ich möchte ist ein schubs in die richtige Richtung. Am besten mit Beispiel da das für mich dann viel

einfacher ist nachzuvollziehn was das für was ist. Ich habe diese Codes nicht im Kopf und kann sie jederzeit abrufen. Leider nicht mal ungefähr...

DeddyH 16. Mär 2015 12:26

AW: Textdateien bestimmte Zeile löschen.
 
Also, Du hast eine ComboBox, die aus einer Textdatei gefüllt wird, stimmt das so? Und das ausgewählte Item soll man auch löschen können, was dann zur Folge hat, dass es auch aus der Textdatei verschwinden soll, ist das auch richtig?

M1ndgr4ve 16. Mär 2015 12:29

AW: Textdateien bestimmte Zeile löschen.
 
Genau ja.

DeddyH 16. Mär 2015 12:34

AW: Textdateien bestimmte Zeile löschen.
 
Dann würde ich das ganz einfach so machen:
Delphi-Quellcode:
procedure TDeinForm.LoeschenClick(Sender: TObject);
var
  idx: integer;
begin
  idx := ComboBox.ItemIndex;
  if idx > -1 then
    begin
      (* Eintrag löschen *)
      ComboBox.Items.Delete(idx);
      (* Alle Einträge wieder in Datei zurückschreiben *)
      ComboBox.Items.SaveToFile(Dateiname);
    end;
end;

himitsu 16. Mär 2015 12:35

AW: Textdateien bestimmte Zeile löschen.
 
Die ComboBox (Items) hat eine Delete-Funktion .... die ruft man auf und danach speichert man den Inhalt der ComboBox neu ab.

Außer man hat GUI und Daten getrennt, dann löscht man den Eintrag aus den Daten, speichert Diese und aktualisiert dann die ComboBox.

M1ndgr4ve 16. Mär 2015 12:38

AW: Textdateien bestimmte Zeile löschen.
 
Herzlichen Dank.

Hab immer irgendwas mit erst AssignFile rumgewurschtelt...

M1ndgr4ve 17. Mär 2015 10:59

AW: Textdateien bestimmte Zeile löschen.
 
Funktioniert einwandfrei vielen Dank @all.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:07 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