AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi ListView - mit Dateien füllen und auf Inhalt prüfen
Thema durchsuchen
Ansicht
Themen-Optionen

ListView - mit Dateien füllen und auf Inhalt prüfen

Ein Thema von atgis · begonnen am 4. Sep 2007 · letzter Beitrag vom 7. Sep 2007
Antwort Antwort
Seite 2 von 3     12 3      
atgis
(Gast)

n/a Beiträge
 
#11

Re: ListView - mit Dateien füllen und auf Inhalt prüfen

  Alt 4. Sep 2007, 20:39
Also wie bekomm ich den Namen des "Symbols" in die andere Form, dass ich die TXT im StringGrid öffnen kann?

Mit dem Selektierten Item klappt irgendwie nicht...

Hat den keiner eine Idee
  Mit Zitat antworten Zitat
atgis
(Gast)

n/a Beiträge
 
#12

Re: ListView - mit Dateien füllen und auf Inhalt prüfen

  Alt 5. Sep 2007, 11:13
Es soll also auf Doppelklick eines Symbols der Inhalt der jeweiligen TXT im StringGrid angezeigt werden.
http://img510.imageshack.us/img510/5...nnt1oj4.th.jpg

Doch wie bekomme ich den Selektierten Dateinamen in das StringGrid?
Delphi-Quellcode:
//TxT Datei öffnen
procedure TForm3.FormCreate(Sender: TObject);
var Datei: Textfile;
    ZeileIndex, SpalteIndex: integer;
    Zeile: string;
begin
  //ShowMessage(ExtractFilePath(ParamStr(0))+'DATEN\');
  assignfile(Datei, ExtractFilePath(ParamStr(0))+'DATEN\'+****HIER DATEINAME DES LISTVIEW ITEM****);
  reset(Datei);
  ZeileIndex:=0;
  while not EoF(Datei) do
   begin
    readln(Datei, Zeile);
    SpalteIndex:=0;
    while pos(chr(9), Zeile) <> 0 do
    begin
     sgInhalt.Cells[SpalteIndex, ZeileIndex]:=copy(Zeile ,1 ,pos(chr(9), Zeile)-1);
     delete(Zeile, 1, pos(chr(9), Zeile));
     inc(SpalteIndex);
    end;
  sgInhalt.Cells[SpalteIndex, ZeileIndex]:=Zeile;
  inc(ZeileIndex);
  //Tabelle automatisch um 1 Zeile erhöhen
  sgInhalt.RowCount:=sgInhalt.RowCount+1;
  end;
  CloseFile(Datei);

//letzte Zeile ist zuviel -> überstehende Zeile Löschen
sgInhalt.RowCount:=sgInhalt.RowCount-1;
end;
  Mit Zitat antworten Zitat
atgis
(Gast)

n/a Beiträge
 
#13

Re: ListView - mit Dateien füllen und auf Inhalt prüfen

  Alt 6. Sep 2007, 15:22
Kann mir den keiner helfen?
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: ListView - mit Dateien füllen und auf Inhalt prüfen

  Alt 6. Sep 2007, 16:19
Moin atgis,

ersetze mal

****HIER DATEINAME DES LISTVIEW ITEM****

durch

Form1.ListView1.Selected.Caption

Dann lege mal einen Breakpoint auf die Zeile, und schau Dir an, was da drin steht.
Wenn OK (wovon auszugehen ist) kannst Du dann mal im Einzelschritt (F7) durchgehen, wo's hakt.

BTW:

Delphi-Quellcode:
//Inhalt in StringGrid laden
procedure TForm1.ListView1DblClick(Sender: TObject);
begin
try form3.show;
except ShowMessage('Keine Datei gewählt');
end;
end;
finde ich nicht so schön.
try/except sollte man nur sehr sparsam einsetzen, und nur dann, wenn es wirklich nicht anders geht.

Wenn Du es, z.B., so machst, wird der Code sauberer.

Delphi-Quellcode:
//Inhalt in StringGrid laden
procedure TForm1.ListView1DblClick(Sender: TObject);
begin
  if not Assigned(Form1.ListView1.Selected) then exit;
  form3.show; // evtl. auch ShowModal
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
atgis
(Gast)

n/a Beiträge
 
#15

Re: ListView - mit Dateien füllen und auf Inhalt prüfen

  Alt 6. Sep 2007, 16:31
Zitat von Christian Seehase:
Moin atgis,

ersetze mal

****HIER DATEINAME DES LISTVIEW ITEM****

durch

Form1.ListView1.Selected.Caption
Genau das hab ich ja schonmal versucht! Man denkt, dass sollte klappen...aber ich bekomm beim Compilieren immer eine Exception!
http://img253.imageshack.us/img253/7...tmapis9.th.jpg
Wenn ich den Dateinamen Fest eingeb, also Pfad\blablalb\LT-13-7-1.txt funktioniert es natürlich...aber es öffnet halt immer die selbe Datei...das will ich ja nicht


EDIT: Die Exception wird wohl dadurch kommen, weil ja noch gar kein Symbol Selektiert werden konnte. Geht ja auch schlecht, wenn das Programm nicht starten kann...

Man müsste quasi unterbinden, dass diese Form (Form3) mit den StringGrid beim Programmstart mit geladen wird...oder so ähnlich.


EDIT2: Ja es liegt daran, dass noch kein Symbol augewählt werden konnte...mh wie löse ich das Problem?
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: ListView - mit Dateien füllen und auf Inhalt prüfen

  Alt 6. Sep 2007, 16:42
Moin atgis,

das ist aber äusserst seltsam.
Wenn Du einen Doppelclick auf einen ListView machst, enthält Selected entweder nil oder die Adresse des ListItems, auf das der DoppelClick gemacht wurde.
Vielleicht solltest Du mal Dein ganzes Projekt hier anhängen (am Besten in einem Archiv, ohne DCU, EXE), denn so kann ich mir den Fehler nicht erklären.

Zitat von atgis:
Man müsste quasi unterbinden, dass diese Form (Form3) mit den StringGrid beim Programmstart mit geladen wird...oder so ähnlich.
hast Du denn auch mal die DoppelClick-Routine angepasst?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: ListView - mit Dateien füllen und auf Inhalt prüfen

  Alt 6. Sep 2007, 16:56
Zitat von Christian Seehase:
Vielleicht solltest Du mal Dein ganzes Projekt hier anhängen
Dasselbe wollte ich auch gerade vorschlagen
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#18

Re: ListView - mit Dateien füllen und auf Inhalt prüfen

  Alt 6. Sep 2007, 17:01
Moin atgis,

Zitat von Christian Seehase:
hast Du denn auch mal die DoppelClick-Routine angepasst?
Zitat von atgis:
EDIT2: Ja es liegt daran, dass noch kein Symbol augewählt werden konnte...mh wie löse ich das Problem?
Womit die Anwort auf meine Frage wohl "Nein" lauten dürfte
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
atgis
(Gast)

n/a Beiträge
 
#19

Re: ListView - mit Dateien füllen und auf Inhalt prüfen

  Alt 6. Sep 2007, 19:40
Hallo,

Doch ich hab es so angepasst wie du es Vorgeschlagen hast! Also ich weiß nicht ob ichs richtig beschrieben hab...Der Name der Datei, die im StringGrid geöffnet werden soll - soll sich aus dem Selektierten Item (Symbol) ergeben...

Aber der Compiler spuckt mich an, weil er sozusagen den Namen beim Programmstart nicht findet! Ist ja auch klar, weil noch keine Dateien ins ListView geladen wurden...

Ich hab mal zum testen ein festes Item in das ListView eingetragen und es test genannt. Mit SelectAll; das Item beim Programmstart Selektiert. Dann eine Datei in test.txt angelegt...Compiliert - funktioniert! Aber nun öffnet es eben immer tes.txt - egal auf welches Item ich Doppelklick...

Ich hoffe jetzt ist es Deutlich...

Programm siehe Anhang
Angehängte Dateien
Dateityp: rar listview_179.rar (298,5 KB, 10x aufgerufen)
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#20

Re: ListView - mit Dateien füllen und auf Inhalt prüfen

  Alt 6. Sep 2007, 23:31
Moin atgis,

jetzt hab' ich's gefunden. Warum hab' ich das nicht eher gesehen (stand ja schon die ganze Zeit so im Thread)

Da Du im OnCreate des Form3 versuchst die Datei zu laden, passiert dies auch beim Programmstart, da das Formular ja schon zu diesem Zeitpunkt erzeugt wird.
Da fallen mir so spontan zwei Lösungsansätze ein:
Du verlegst das Ganze vom OnCreate in das OnShow des Form3

Du erzeugst das Form3 dynamisch (wobei spätestens dann die Verwendung von ShowModal sinnvoll wäre).
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 20:58 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