_str, 30);:=MP3Tag.Album + str_probel; (f_write, str, 30);
//Заносимо год_str:=length (MP3Tag.Year); _ probel:=write_probel (size_str, 4);:=MP3Tag.Year + str_probel; (f_write, str, 4);
//Заносимо комменти_str:=length (MP3Tag.Comment); _ probel:=write_probel (size_str, 30);:=MP3Tag.Comment + str_probel; (f_write, str, 30);
//str:=write_probel (1,128);
//write (f, str); (f_write);:=true;:=false;
end ;;
//кінець функціb для запису тегів
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//Функція для видалення" з строкdel_kavychki (var s: string) ;: integer; .length (s)=0 then exit;
{$ I -} (s, 1,1); (s, length (s), 1);
{$ I +}
end;
//кінець функції для видалення" з рядків
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//функція для запису рядків у csv-файл
procedure write_db (adress_file_local: string; tabl: TStringGrid; str: string) ;: textfile ;: integer;:= + str + raquo ;; (fw , adress_file_local); (fw); i:=1 to tabl.RowCount - 1 do//?????? ?? ???? ??????? tabl.Cells [0, i] lt; gt; then begin (fw,
" + tabl.Cells [0, i], str, .Cells [1, i], str, .Cells [2, i], str, .Cells [3, i], str, .Cells [4, i], str, .Cells [5, i], str, .Cells [6, i]) ;;
end;
closefile (fw);
end;// кінець функції для запису рядків у csv-файл
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//функція читання рядків з csv-файл
procedure read_db (FileName: String; separator: char; tabl: TStringGrid); f: TextFile ;, s2: string ;, j: integer;:=1; .RowCount:=2; .Cells [0, 1]:= raquo ;;. Cells [1, 1]:= raquo ;;. Cells [2, 1]:= raquo ;;. Cells [3, 1]:= laquo ; raquo ;;. Cells [4, 1]:= raquo ;;. Cells [5, 1]:= raquo ;;. Cells [6, 1]:= raquo ;; (f, FileName );
{$ i -} (f);
{$ i +} not eof (f) do (f, s1);:=i + 1;:=0; pos (separator, s1) lt; gt; 0 do:=copy ( s1,1, pos (separator, s1) - 1);:=j + 1; (s1, 1, pos (separator, S1)); _ kavychki (s2) ;. Cells [j - 1, i - 1]: =s2 ;; pos (separator, s1)=0 then:=j + 1; .Cells [j - 1, i - 1]:=s1 ;;. RowCount:=i + 1 ;; (f);
end;
//функція читання рядків з csv-файл
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
//функція перебування файлів і вкладених кодкаталогов у вказаній директорії
procedure TForm1.findfiles (startfolder, mask: string; tabl: TStringGrid ;: boolean=true) ;: tsearchrec;
findresult: integer ;: integer; tag: tmp3tag;
begin:=includetrailingbackslash(startfolder);:=findfirst(startfolder+laquo;*.*raquo;, faanyfile, searchrec); findresult=0 do with searchrec do begin (attr and fadirectory) lt; gt; 0 then beginscansubfolders and (name lt; gt; . ) and (name lt; gt; .. ) then (startfolder + name, mask, tabl, scansubfolders); else beginMatchesMask (name, mask) then
begintag:=getmp3tag (startfolder + name);
tabl.RowCount:=tabl.RowCount + 1;:=1;
while tabl.Cells [0, nomer] lt; gt; do//шукаємо порожній рядок для додавання запису
nomer:=nomer + 1; .Cells [0, nomer]:=inttostr (nomer);// Поле номер заданія.Cells [1, nomer]:=mp3tag.filename;// поле ім'я файлу отримуємо з OpenDialog
tabl.cells [2, nomer]:=mp3tag.title; .Cells [3, nomer]:=mp3tag.artist; .Cells [4, nomer]:=mp3tag.album;
tabl.Cells [5, nomer]:=mp3tag.year; .Cells [6, nomer]:=mp3tagment ;;;:=findnext (searchrec) ;; (searchrec) ;;
nomer:=1 ;;;
//кінець функції перебування файлів і вкладених кодкаталогов у вказаній директорії
//----------------------------------------------------------------------------
//----------------------------...