AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Teile von Textdateien in Listbox darstellen & aktualisieren
Thema durchsuchen
Ansicht
Themen-Optionen

Teile von Textdateien in Listbox darstellen & aktualisieren

Ein Thema von buyden · begonnen am 21. Sep 2004 · letzter Beitrag vom 28. Sep 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von buyden
buyden

Registriert seit: 10. Apr 2003
Ort: Schneeberg
228 Beiträge
 
Delphi 7 Enterprise
 
#1

Teile von Textdateien in Listbox darstellen & aktualisie

  Alt 21. Sep 2004, 17:22
Hi,

Ich weiß, Textdateien und Stringzerlegung war schon Thema vieler Threads aber irgendwie hat mich bis jetzt noch keiner weitergebracht also bitte nicht gleich beschimpfen

Ich möchte aus bestimmten Zeilen einer Textdatei einen Teil auslesen und ihn in einer Listbox darstellen. Die Textdatei wird aber zur Laufzeit verändert.

Beispiel:
Ein Techniker hat ein Ersatzteil verbaut und möchte das Teil im Lager ausbuchen lassen.
Dazu schreibt er an das Ende einer Textdatei einen String, bestehend aus Technikernummer; Ersatzteilnummer; leere Stelle;Wochentag; .

Der Techniker soll eine Liste haben, in der nur seine Teile aufgelistet sind.

Im lager besteht ein kleines Programm, das diese Textdatei in einer Liste darstellt. Der Lagermeister bucht das Teil aus und fügt in der Datei an die leere Stelle ein OK ein. Beim Techniker wird daraufhin der betreffende Eintrag aus der Liste gelöscht.

So sollte das ganze laufen.
Ich habe mir gedacht, ich realisiere das Ganze über einen Timer, der in gewissen Abständen die Listbox aktualisiert.
Mein Problem besteht jetzt darin: wie bekomme ich die entsprechenden Strings aus der Datei heraus und wie bemerkt das Programm, wenn das Teil ausgebucht wird.

Ich hoffe ihr versteht, wie ich mir das vorstelle
Es gibt keine dummen Fragen, außer die von mir


MFG BUYDEN
  Mit Zitat antworten Zitat
Benutzerbild von maxk
maxk

Registriert seit: 19. Sep 2004
Ort: Berlin
57 Beiträge
 
Delphi 6 Personal
 
#2

Re: Teile von Textdateien in Listbox darstellen & aktual

  Alt 21. Sep 2004, 19:02
Ich habe dich jetzt nicht soo verstanden, daher poste ich einfach mal ein paar Ideen:
Delphi-Quellcode:
var Strs:TStrings;
begin
 Strs:=TStringList.Create;
 try
  LoadFromFile('Lager.txt');

  Listbox1.Clear;
  Listbox1.Add(Strs[1]); // Zeile 2 hinzufügen
  Listbox1.Add(Strs[0]); // Zeile 1 hinzufügen
  Listbox1.Add(Strs[5]); // Zeile 6 hinzufügen
 finally
  Strs.Free;
 end;
end;
Aber ich glaube, ich habe dich da irgendwie falsch verstanden
Ein im Mittelpunkt stehender Kunde steht im Weg.
  Mit Zitat antworten Zitat
Benutzerbild von buyden
buyden

Registriert seit: 10. Apr 2003
Ort: Schneeberg
228 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Teile von Textdateien in Listbox darstellen & aktual

  Alt 21. Sep 2004, 20:13
Hi maxk

also ich hab mir das so gedacht:

wenn in der Textdatei in irgendeiner Zeile die Technikernummer 100 drinsteht, dann gib mir aus dieser Zeile die Teilenummer und trage sie in meine Listbox ein.

Und zum aktualisieren:

wenn in der Zeile mit Technikernummer 100 "OK" steht, dann lösche die Nummer wieder aus der Listbox.

So sollte die Logik aussehen, es hapert aber leider an der Umsetzung;
Es gibt keine dummen Fragen, außer die von mir


MFG BUYDEN
  Mit Zitat antworten Zitat
Benutzerbild von City Light
City Light

Registriert seit: 17. Sep 2002
314 Beiträge
 
#4

Re: Teile von Textdateien in Listbox darstellen & aktual

  Alt 21. Sep 2004, 21:02
Hallo buyden


Was genau brauchst du jetzt für deine Anwendung?

Ein Beispiel für das suchen in einer Textdatei nach einen String?

dann kuck dir mal Klasse TStringList doch etwas genauer an (deineStringliste.IndexOf)
Bis bald man liest sich
Tino
  Mit Zitat antworten Zitat
Benutzerbild von buyden
buyden

Registriert seit: 10. Apr 2003
Ort: Schneeberg
228 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Teile von Textdateien in Listbox darstellen & aktual

  Alt 22. Sep 2004, 15:43
Also ich als Laie würde denken das ich die Zeilen mit ner Schleife durchgehe, die Zeile auslese und mir mit POS(Technikernummer,zeile) suchen lasse, ob die gewünschte Technikernummer in der Zeile steht aber nicht "OK".
Jetzt müsste ich dem Computer irgendwie zu verstehen geben, dass er mir doch den String von dem ";" nach der T-nummer bis zum nächsten ";" geben und in die Liste eintragen soll.
Das stellt meiner Meinung nach das größte Problem für mich dar.
Es gibt keine dummen Fragen, außer die von mir


MFG BUYDEN
  Mit Zitat antworten Zitat
Benutzerbild von buyden
buyden

Registriert seit: 10. Apr 2003
Ort: Schneeberg
228 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Teile von Textdateien in Listbox darstellen & aktual

  Alt 23. Sep 2004, 16:49
Ach so,
ich hab noch einen kleinen Nachtrag zur Erhöhung des Schwierigkeitsgrades:

die Ersatzteilnummer kann unterschiedlich viele Stellen haben also kann ich die nicht mit copy(x,y) auslesen - denk ich .

Irgendwelche Ideen??
Es gibt keine dummen Fragen, außer die von mir


MFG BUYDEN
  Mit Zitat antworten Zitat
Benutzerbild von City Light
City Light

Registriert seit: 17. Sep 2002
314 Beiträge
 
#7

Re: Teile von Textdateien in Listbox darstellen & aktual

  Alt 23. Sep 2004, 17:03
Hallo

na dann schreib doch mal einen kleinen Auszug aus der textdatei, damit man das sich auch bildlich vorstellen kann...ob sie alle untereinander sind oder nicht u. so weiter. Markiere auch gleich die bereiche die du ausgelesen haben möchtest...

MFG
Bis bald man liest sich
Tino
  Mit Zitat antworten Zitat
Benutzerbild von buyden
buyden

Registriert seit: 10. Apr 2003
Ort: Schneeberg
228 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Teile von Textdateien in Listbox darstellen & aktual

  Alt 23. Sep 2004, 19:35
So ist die Datei aufgebaut:


143,SR604397,OK, 1
111,SR604572,OK, 1
109,SR604580,OK, 1
123,IMPU002188,OK, 1
108,SR604563,OK, 1
113,SR604397,OK, 1
100,IM002188,, 1
143,SR604563,, 1

Der Techniker 143 hat die Teile SR604397 und SR604563 verbaut. Ersteres wurde vom Lager schon ausgebucht, erkennbar an dem "OK".
In der Listbox soll jetzt also nur die SR604563 auftauchen. Sobald diese ausgebucht wird - also "OK" in der Zeile steht soll die Nummer aus der Liste gelöscht werden.
Es gibt keine dummen Fragen, außer die von mir


MFG BUYDEN
  Mit Zitat antworten Zitat
Benutzerbild von City Light
City Light

Registriert seit: 17. Sep 2002
314 Beiträge
 
#9

Re: Teile von Textdateien in Listbox darstellen & aktual

  Alt 23. Sep 2004, 21:47
Also ich bin erstmal bis hier... nur bringt dich das ja auch leider noch nicht weiter. Weil diese Routine nur die nummer des Technicker aus liest.Auch die wo OK mit bei ist...ich wert aber dran bleiben bis ich was neues hab. Vielleicht gibt es ja einen hier im Forum der das schon mal gemacht hat?

Delphi-Quellcode:
var
  a: integer;
  sl,gefunden: TStringlist;
begin
  sl := TStringlist.Create;
  sl.LoadFromFile('C:\Test.Txt');
  gefunden := TStringlist.Create;
  try
  for a := 0 to sl.count - 1 do
    begin
      if pos('143', sl.Strings[a]) <> 0 then //Der Techniker 143
      gefunden.Add(sl.Strings[a]);
       Form1.Listbox1.Items.Text := gefunden.Text;
     end;
  finally
    sl.Free;
    gefunden.free;
 end;
MFG
Bis bald man liest sich
Tino
  Mit Zitat antworten Zitat
Benutzerbild von maxk
maxk

Registriert seit: 19. Sep 2004
Ort: Berlin
57 Beiträge
 
Delphi 6 Personal
 
#10

Re: Teile von Textdateien in Listbox darstellen & aktual

  Alt 24. Sep 2004, 14:18
Vielleicht so?
Delphi-Quellcode:
var Line,Artikel:string;
    i:integer;
begin
with TStringList.Create do try
  LoadFromFile('C:\Lager.txt');
  Listbox1.Clear;
  for i:=0 to Count-1 do begin
   Line:=Strings[i]; // 143,SR604563,, 1
   System.Delete(Line,1,pos(',',Line));// SR604563,, 1
   Artikel:=copy(Line,1,pos(',',Line)-1);
   System.Delete(Line,1,pos(',',Line));// , 1
   if not AnsiSameText(copy(Line,1,2),'OK') then ListBox1.Items.Add(Artikel);
  end;
finally
  Free;
end;
end;
Ein im Mittelpunkt stehender Kunde steht im Weg.
  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 22:46 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