Danke für die Antworten zu meinen bisherigen Themen. Ich konnte eine Menge daraus ziehen. Und dennoch stehe ich wieder vor einem Problem welches mich zu Verzweiflung bringt und schon diese schauderhafte Prozedur hervorgebracht hat.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67:
| procedure TfmStart.btOProjectClick(Sender: TObject); var tmp: PHtmlProject; PName : string; FName : string; NodeName : TTreeNode; begin if OpenDialog1.Execute then begin if FileExists(OpenDialog1.FileName) then begin HtmlListe:= LoadFromFile((Opendialog1.FileName)); GProjectName:= OpenDialog1.FileName; if IsEmpty(HtmlListe) then ShowMessage('Datei ist leer ???') else begin tmp:= HtmlListe; EditField1.Clear; while not IsEmpty(tmp) do begin Editfield1.Items.Add(ExtractFileName(tmp^.Speicherort)); tmp:= tmp^.next; end; end; GStatus:= ST_OFFEN_PROJ; end else ShowMessage('Die Datei '+OpenDialog1.FileName+' existiert nicht ;o)');
if (GProjectName <> '') then if (trProject.Items.Count = 0) then begin with trProject.Items.AddFirst( nil, 'ROOT') do begin Selected:= True; ImageIndex:= IMG_NODE_ROOT; SelectedIndex:= IMG_NODE_ROOT; MakeVisible; end; ShowMessage(InttoStr(trProject.Items.Count)); tmp:= HtmlListe; While (tmp <> nil) do begin PName:= ExtractFilePath(tmp^.Speicherort); FName:= ExtractFileName(tmp^.Speicherort); tmp:= tmp^.next; with trProject.Items.AddChildFirst(trProject.TopItem, PNAME) do begin Selected:= True; ImageIndex:= IMG_NODE_FOLDER; SelectedIndex:= IMG_NODE_FOLDER; MakeVisible; NodeName:= trProject.Selected; end; with trProject.Items.AddChild(NodeName, FName) do begin ImageIndex:= IMG_NODE_FILE; SelectedIndex:= IMG_NODE_FILE; MakeVisible; end; end; end else ShowMessage('HALLO PETER'); end; end; |
1. Ich bekomme keine Bilder angezeigt obgleich ich eine Imagelist einbinde. WARUM?
2. Es kommt vor, dass in einem Ordner mehrere Dateien liegen. Ich will den Ordner aber nur einmal als Knoten angezeigt bekommen und diesen abfragen können um ggf. weitere Kindknoten an den schon vorhandenen Knoten zu hängen.
Derzeitig ist es mir möglich, meine ausgewählten Ordner und die Verzeichnisse anzuzeigen als Baum. Jedoch ist das nicht Uniq. Ich weiß nicht wie ich prüfen kann, ob es einen Knoten schon gibt oder nicht. Und ich würde gern verhindern, dass Knoten die einem Ordner entsprechen auch Selektiert werden können. Geht das?????
Das wichtigste ist für mich, wie spreche ich die einzelnen Knoten an. Es muss doch möglich sein, das in folgender Form zu tun.
Ist ein Knoten mit diesem Namen schon vorhanden, dann hänge nur was an diesen knoten. Wahrscheinlich muss dieser vorher selektiert werden aber wie?