Cześć
Potrzebuje pomocy od razu proszę o wybaczenie jeśli namieszam gdyż kod nie jest mój.
Nie wiem w czym co zmienić gdzie jest rozwiązanie.
Mam wczytywanie plików do Listboxa przez SelectDirectory i działa tak jak ma
czyli w Listboxie pokazuje się tylko nazwa pliku a do pliku konfiguracyjnego .txt za pomocą ButonClick dodaje się cała ścieżka to samo chce zrobić dodając pojedynczy plik do Listboxa przez **OpenDialog
**
if opendialog1.execute then
ListBox1.Items.Add(ExtractFileName(OpenDialog1.FileName));
Tak to nie działa gdyż do pliku konfiguracyjnego dodaje mi zawartość Liśtboxa a nie całą ścieżkę poniżej podam procedurę wczytywania plików przez SelectDirectory i malowania Listboxa
Może inaczej zadam pytanie
**Jak w Listboxie wyświetlać tylko nazwę pliku a do pliku konfiguracyjnego dodawać całą ścieżkę zawartą pod nazwą pliku w Listboxie.
**
Tak właśnie dzieje się wczytując pliki z wskazanego folderu dlatego dodaje jego procedurę poniżej taki sam efekt chcę uzyskać dodając pojedynczy plik przez OpenDialog
Dodawanie do Memo celem podglądu pliku konfiguracyjnego w Listbox 1 i 2 ma się pojawić ścieżka
procedure TForm2.ButtonPokazPlikClick(Sender: TObject);
var
i: Integer;
begin
i:= 0;
while (i < ListBox1.Count) and(i < ListBox2.Count) do
begin
Form3.Memo1.Lines.Add(LabeledEdit1.Text+';'+ListBox2.Items[i]+';'+ListBox1.Items[i]);
Inc(i);
end;
A tu już wczytywanie przez** SelectDirectory**
procedure TForm2.ButtonWczytajClick(Sender: TObject);
var
LDirectory: String;
begin
if SelectDirectory('Select directory', 'C:', LDirectory) then
ListFiles(IncludeTrailingPathDelimiter(LDirectory), ListBox1.Items);
end;
procedure ListFiles(const APath: String; AFilesList: TStrings);
var
LFileRec: TSearchRec;
begin
AFilesList.Clear();
if FindFirst(APath + '*.txt', faAnyFile, LFileRec) = 0 then
try
repeat
AFilesList.Add(APath + LFileRec.Name);
until FindNext(LFileRec) <> 0;
finally
FindClose(LFileRec);
end;
end;
i malowanie ListBoxa
procedure TForm2.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
Flags: Longint;
Data: String;
begin
self.ListBox1.canvas.FillRect(Rect);
Flags := DrawTextBiDiModeFlags(DT_SINGLELINE or DT_VCENTER or DT_NOPREFIX);
Data := inttostr(index + 1) + ' : ' + extractfilename(self.ListBox1.Items[index]);
DrawText(self.ListBox1.canvas.Handle, Data, Length(Data), Rect, Flags);
end;