Newsgroup: it.comp.lang.delphi
Titolo: Leggere nome file

Ciao a tutti,
in D7 come posso leggere il nome di un file e metterlo in una variabile?
es.
var nome :string;
nome:=(leggi nome del primo file *.csv da c:\prove)
Grazie mille.
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 nome:=(leggi nome del primo file *.csv da c:prove)
FindFirst/FindClose (+ FindNext se serve anche iterare).
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Saresti cosi gentile da scrivere l'intera sintassi?
grazie ancora.


 > Saresti cosi gentile da scrivere l'intera sintassi?
No, mi dispiace. D'altronde non sono mai stato gentile.



Dalla guida di Delphi:
The following example uses an edit control, a button, a string grid, and 
seven check boxes. The check boxes correspond to the seven possible file 
attributes. When the button is clicked, the path specified in the edit 
control is searched for files matching the checked file attributes. The 
names and sizes of the matching files are inserted into the string grid.
procedure TForm1.Button1Click(Sender: TObject);
var
  sr: TSearchRec;
  FileAttrs: Integer;
begin
  StringGrid1.RowCount := 1;
  if CheckBox1.Checked then
    FileAttrs := faReadOnly
  else
    FileAttrs := 0;
  if CheckBox2.Checked then
    FileAttrs := FileAttrs + faHidden;
  if CheckBox3.Checked then
    FileAttrs := FileAttrs + faSysFile;
  if CheckBox4.Checked then
    FileAttrs := FileAttrs + faVolumeID;
  if CheckBox5.Checked then
    FileAttrs := FileAttrs + faDirectory;
  if CheckBox6.Checked then
    FileAttrs := FileAttrs + faArchive;
  if CheckBox7.Checked then
    FileAttrs := FileAttrs + faAnyFile;
  with StringGrid1 do
  begin
    RowCount := 0;
    if FindFirst(Edit1.Text, FileAttrs, sr) = 0 then
    begin
      repeat
        if (sr.Attr and FileAttrs) = sr.Attr then
        begin
        RowCount := RowCount + 1;
        Cells[1,RowCount-1] := sr.Name;
        Cells[2,RowCount-1] := IntToStr(sr.Size);
        end;
      until FindNext(sr) <> 0;
      FindClose(sr);
    end;
  end;
end;
Ciao
--- posted by geoForum on 
http://www.delphiedintorni.it

 
E lo hai dimostrato qui ampiamente.

E lo hai dimostrato qui ampiamente.
E ne vado fiero, visto che esiste Google.

Andrea Laforgia ha scritto:

Andar fiero di non essere gentile mi sembra un controsenso. Ma non sono 
affari miei. Fa come vuoi: ti troverai bene nella vita............
-- 
Saluti da
Mazinga
-----------------
caso...@hotmail.com

Andar fiero di non essere gentile mi sembra un controsenso.
Sei palloso. E non ho mai creduto ai maestri di vita come te.

Andrea Laforgia ha scritto:

Non avevo intenzione di farti credere ai maestri di vista (cosa che 
assolutamente non sono - anche se ho 59 anni), ma solo farti riflettere 
su quello che dici. Tutto qui.
Grazie per il "palloso"......

 Dalla guida di Delphi: [...]
Io aggiungo in genere un *try...finally* quando la prima ricerca va a 
buon fine, in modo da garantire il rilascio delle risorse allocate per 
la ricerca stessa:
if FindFirst(..., ..., sr) = 0 then
begin
   try
     repeat
       // ...
     until FindNext(sr) <> 0;
   finally
     FindClose(sr);
   end;
end;
Ciao,
   Marco.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)