AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

löschen in txt

Ein Thema von SaFu · begonnen am 18. Jan 2007 · letzter Beitrag vom 23. Jan 2007
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#1

löschen in txt

  Alt 18. Jan 2007, 22:35
Hi

hab ma ne frage

Die Combobox holt sich bei mir die namen liste.txt und kann man jetzt beim auswählen in der ComboBox den eintrag auch wieder aus der txt löschen

Delphi-Quellcode:
procedure TForm7.Button2Click(Sender: TObject);
var i :integer;
    leherl: Textfile;
    
begin
  AssignFile(leherl,'C:\Dokumente und Einstellungen\Lehrer Liste\'+'liste.txt');
   ReWrite(leherl);
    for i:= 0 to ComboBox3.Items.Count - 1 do
     begin
       WriteLn(leherl,ComboBox3.Items[i]);
     end;
   CloseFile(leherl);
end;
hoffe ich habe es plausiebel erklärt

Danke
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: löschen in txt

  Alt 19. Jan 2007, 06:36
-Warum verwendest du nicht die Methode .SaveToFile() der StringList-Klasse?
-Du verwendest schon wieder feste Pfade.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von yörsch
yörsch

Registriert seit: 10. Jan 2007
Ort: Lampertheim
206 Beiträge
 
Delphi XE2 Architect
 
#3

Re: löschen in txt

  Alt 19. Jan 2007, 08:54
Hai,

was willst du uns mit diese werbesendung sagen ? ich hab nix kapiert!
Jörg
have FUN
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: löschen in txt

  Alt 19. Jan 2007, 09:24
Zitat von yörsch:
Hai,

was willst du uns mit diese werbesendung sagen ? ich hab nix kapiert!
Die Eigenschaft .Items einer ComboBox ist vom Typ TStringList. Diese besitzt die Methode .SaveToFile() mit deren Hilfe man den Inhalt in eine datei Schreiben lassen kann.

ComboBox3.Items.SaveToFile('C:\Dokumente und Einstellungen\Lehrer Liste\'+'liste.txt');
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: löschen in txt

  Alt 19. Jan 2007, 16:05
Benutze immernoch die festen pfade da ich es immernoch nicht hin bekommen habe das ich die datei aus dem letzten ordner laden kann. es wird immer nur die datei geladen wenn sie im exe ordner meines Programm liegt.

das mit Savetofile() ist viel besser und kürzer danke.

Was ich mit dem anderen sagen wollte ich speicher doch mit meiner procedue den text(namen) vom edit3 in die combobox3 liste und diese liste wird in die liste.txt geschrieben (gespeichert) kann ich mir jetzt den namen der in der combobox3. liste (items) liegt selektieren und per rechter maustaste aus der textdatei (liste.txt) auslesen und wieder löschen sodas er nicht mehr in der liste der combobox3 auftaucht und in der listse.txt gelöscht ist.


Delphi-Quellcode:
procedure TForm7.Button2Click(Sender: TObject);
var Sl:TStringlist;
    i,x,y:integer;
    leherl: Textfile;
    d :String;
begin
 if Edit3.Text <> 'then
  begin
   Combobox3.Items.Add(Edit3.Text);// Text in die ComboBox3 List übergeben
   Sl:=TStringlist.Create;
   begin
    ComboBox3.Items.SaveToFile('C:\Dokumenteundeinstellungen\Desktop\Elinta\Lehrer Liste\'+'liste.txt'); // die exe liegt im elinta ordner
    end;
  Form8.ListBox1.Clear; // liste säubern
 begin
  AssignFile(leherl,'C:\Dokumente und Einstellungen\Elinta\Lehrer Liste\'+'liste.txt'); // wie funktioniert das eigenlich mit dem loadfromfile()
  Reset(leherl);
 while EOF(leherl) = False do
   begin
    Readln(leherl,d);
    Form8.ListBox1.Items.Add(d);
   end;
  Closefile(leherl);
 end;
 end
  else
   Application.MessageBox('Bitte Name des zu Vertrendenden Lehrer eingeben','Speicher Information',48);
end;


Danke
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: löschen in txt

  Alt 19. Jan 2007, 16:58
Hallo Sascha,

die Lehrerliste würde ich in einer globalen Variable (LehrerListe: TStringList) mitführen. Diese Liste sollte sortiert sein (Sorted = True, Duplicates = dupIgnore). Dann kannst du diese Liste jederzeit in eine ListBox übernehmen oder nach Veränderungen auf externem Speicher sichern.

Delphi-Quellcode:
var
  LehrerListe: TStringList;
  fnLehrerListe: TFileName;
  sLehrer: String;
  iLehrer: Integer;

begin
  LehrerListe := TStringList.Create;
  LehrerListe.Sorted := True;
  LehrerListe.Duplicates := dupIgnore;

  fnLehrerListe := ExtractFilePath(ParamStr(0)) + 'LehrerListe.txt';
  LehrerListe.LoadFromFile(fnLehrerListe); // laden
  LehrerListe.SaveToFile(fnLehrerListe); // speichern
  ListBox.Items.Assign(LehrerListe); // übernehmen
  
  LehrerListe.Add(sLehrer); // Eintrag hinzufügen ohne Doppelung
  if LehrerListe.Find(sLehrer, iLehrer) then
    LehrerListe.Delete(iLehrer); // Eintrag entfernen
end;
Freundliche Grüße
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#7

Re: löschen in txt

  Alt 22. Jan 2007, 22:14
Hallo erstmal

Danke für die Anwort habe mit deiner hilfe alle festen Pfade ändern können und mit dem Laden und speicher Funktioniert das auch so besser und ist vom text her viel kürzer

Leider habe ich das immer noch nich hinbekommen dass wenn ich mit der Rechten Maustaste den Namen aus der Combobox liste bzw. aus der datei in der die Namen gespeicher sind löschen Kann.

So speicher ich jetzt alles in der combobox und Listbox

Delphi-Quellcode:
Privat
Var plan :TFileName;
   leherl: TFileName;
   Vertrpl :TStringlist;

{StrinGrid Speichern}
procedure TForm7.Button2Click(Sender: TObject);
var x,y:integer;
begin
 if Edit3.Text <> 'then
  begin
   Vertrpl:= TStringlist.Create;
   Combobox3.Items.Add(Edit3.Text);// Text in die ComboBox3 Liste übergeben
   Vertrpl.Add(IntToStr(StringGrid1.Colcount));
   Vertrpl.Add(IntToStr(StringGrid1.Rowcount));
   for x:= 0 to StringGrid1.ColCount-1 do
   for y:= 0 to StringGrid1.RowCount-1 do
   Vertrpl.Add(StringGrid1.Cells[x,y]);
   for x:= 0 to StringGrid1.ColCount-1 do
   Vertrpl.Add(IntToStr(StringGrid1.ColWidths[x]));
   for x:= 0 to StringGrid1.RowCount-1 do
   Vertrpl.Add(IntToStr(StringGrid1.RowHeights[x]));
   Vertrpl.Add(IntToStr(StringGrid1.Clientwidth));
   Vertrpl.Add(IntToStr(StringGrid1.Clientheight));
   Vertrpl.Add(IntToStr(Ord(StringGrid1.ScrollBars)));
   plan:= ExtractFilePath(ParamStr(0))+'Vertretungspläne\'+ Edit3.Text +'.txt';
   Vertrpl.SaveToFile(plan);
   Showmessage('Datei wurde in:' + sLineBreak + plan + ' gespeichert');
    begin
     leherl:= ExtractFilePath(ParamStr(0)) +'\Lehrer Liste\'+'liste.txt';
     ComboBox3.Items.SaveToFile(leherl);
    end;
   Form8.ListBox1.Clear;
  begin
   leherl:= ExtractFilePath(ParamStr(0)) +'\Lehrer Liste\'+'liste.txt';
   Form8.ListBox1.Items.LoadFromFile(leherl);
  end;
 end
 else
  Application.MessageBox('Bitte Name des zu Vertrendenden Lehrer eingeben','Speicher Information',48);
end;
geht das löschen vielleicht nicht irgenwie so

Delphi-Quellcode:
if Shift = [ ssRight] then
 begin
   Application.MessageBox('Wollen sie Wirklich den eintrag löschen',Frage,36) = 6 then
  begin
    Combobox3.selection:= Delete; // nur ein vorschlag??????
  //+ den eintrag in der Textdatei löschen
.
.
.
.
end;
danke
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: löschen in txt

  Alt 23. Jan 2007, 08:46
Combobox3.Items.Delete( ComboBox3.ItemIndex);
Markus Kinzler
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#9

Re: löschen in txt

  Alt 23. Jan 2007, 09:11
Hallo Sascha,

für das Löschen eines Eintrages aus einer ComboBox mittels rechter Maustaste schlage ich dir folgendes vor: Ordne der ComboBox ein PopupMenu zu und erzeuge darin ein MenuItem "Löschen". In meinem Beispiel-Code verwende ich Actions, die ich den MenuItems zuweise. Es ist nicht viel Code, also solltest du in der Lage sein ihn nachzuvollziehen.

Freundliche Grüße
Angehängte Dateien
Dateityp: zip cb-demo_414.zip (2,1 KB, 3x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#10

Re: löschen in txt

  Alt 23. Jan 2007, 09:20
Das heist wenn ich diesen eintrag gelöscht habe überschreibe ich damit einfach diese txt in der die namen gespeichert sind und habe somit die liste aktuallisiert

Danke
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 13:30 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