ďťż

Ładny brzuch

Mam następujące pytanie:
Robię nowy katalog w/g kodu:
if not DirectoryExists('jakis\' + Edit1.Text)      then MkDir (PAnsiChar('jakis\' + Edit1.Text));
Robi się nowy katalog w katalogu ‘jakis’. Zawartość tego katalogu jest
na bieżąco wyświetlana w okienku ListBox.
Pytanie:
co zrobić, aby zaraz po dodaniu nowego katalogu został on wyświetlony na liście, bo teraz widać go dopiero po ponownym uruchomieniu programu.



Przy włączaniu programu masz pewnie procedurkę wyszukującą katalogi - uruchom ją ponownie ;)


Mam następujące pytanie:
Robię nowy katalog w/g kodu:
if not DirectoryExists('jakis\' + Edit1.Text)      then MkDir (PAnsiChar('jakis\' + Edit1.Text));
Robi się nowy katalog w katalogu ‘jakis’. Zawartość tego katalogu jest
na bieżąco wyświetlana w okienku ListBox.
Pytanie:
co zrobić, aby zaraz po dodaniu nowego katalogu został on wyświetlony na liście, bo teraz widać go dopiero po ponownym uruchomieniu programu.


Można Timerem by ci odświerzał  ;)




uważam, że to nienajlepsze rowiązanie. Bo po co co jakis czas ma znowu wykonywac kilkanascie lini jak nie ma takiej potrzeby ?


Racja, ale masz lepszy pomysł.

Witam programistę 1101 :)
Myślę, że Ty najlepiej mi pomożesz bo znasz juz problem.
jest tak;
na formie1 mam kod:
procedure TForm1.ListBox1Click(Sender: TObject); var sr:tsearchrec; f:integer; roz, kat:string; begin listbox2.Clear;roz:='txt'; with listbox1 do  for f:=0 to Count-1 do  begin      if Selected[f]  then      begin       kat:=extractfilepath(application.exename)+'.\jakis\' +Items[f]+'.\';       dir:=ExtractFilePath(application.exename)+'.\jakis\' +Items[f] +'.\';       end;       end;  f:=findfirst(kat+'*.'+roz,faanyfile,sr);  while f=0 do begin    listbox2.Items.Add(sr.Name);      f:=findnext(sr);      end; end;

a na formie2 robię nowy katalog.
Rozumiem, że to na formie2 musi być kod, który odświerzy form1 przy zamykaniu okienka.
Ale jak :pomocy:
Użytkownik marcom edytował ten post 30 kwiecień 2005, 17:57

Tak, taki:
bardzo dorbra metoda

Po kliknięciu na przycisk ok daj coś takiego Form1.NazwaProceduryOdświeżającej .


Przecież timer będzie ponownie uruchamiał procke. :)

Zrobiłem tak:
public    { Public declarations }    kat:=extractfilepath(application.exename)+'.\jakis\' +Items[f]+'.\';  end;

i mam

[Error] przyklad.pas(59): ',' or ':' expected but ':=' found
[Error] przyklad.pas(59): ',' or ':' expected but '(' found
[Error] przyklad.pas(59): ',' or ')' expected but '.' found
[Error] przyklad.pas(59): ',' or ':' expected but '[' found
[Error] przyklad.pas(60): Type expected but 'END' found
[Fatal Error] przyklad.pas(68): Could not compile used unit 'Unit7.pas'

Co spieprzyłem?

w public ma byc tak:

public:
kat: string;
end;

z zmienan kat powinna wygladac tak w procedurze tworzenia nowego katralogu, pod instrukcja jego tworzenia:

Form1.kat := extractFilePath(Application.Exename) + '\'+nazwa_nowegu_folderu+'\';

Form1.ListBox1Click(sender);

//pamietaj, ze to nie doda nowego folderu do listbox1. ale mysle ze juz sie z tym uporasz.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •