losowe nazwy

0

Hej,
zrobiłem programik do kopiowania pliku, chciałbym teraz żeby przed zapisem programik generował jakiś ciąg znaków i dodawał go na początku oryginalnego pliku i dopiero potem zapisywał...

np. wybieram plik bla.jpg - a program zapisuje go jako 1231312bla.jpg

var
JPG : TJpegimage;
sciezka,od : string;
s:tshfileopstruct;
begin
JPG:= TJpegimage.Create;
try
if OpenPictureDialog1.Execute then
begin
JPG.LoadFromFile(OpenPictureDialog1.FileName);
od := OpenPictureDialog1.FileName;
sciezka :=ExtractFilePath(Application.ExeName)+'Loga';
s.Wnd :=handle;
s.wFunc :=fo_copy;
s.pFrom :=PChar(od);
s.pTo := PChar(sciezka);
s.fAnyOperationsAborted:=false;
s.fFlags := fof_noconfirmation or fof_renameoncollision;
s.lpszProgressTitle:='kopia';
shfileoperation(s);
Edit14.Text :=sciezka;

tak rozwiązałem zapis... wie ktoś jak dodać do tego ten losowy ciąg znaków???

Proszę baaardzo o pomoc :)

Pozdrawiam North :)

0

Jeśli tylko liczby to Randomize i Random a jesli znaki to np. kojarzysz sobie w jakiś sposób np. a-1,b-2,c-3 itd. robisz random i tłumaczysz cyfry na znaki ;)

0

Losowanie małej literki: Char(Random(25) + 97);
Teraz wstawić w pętle..

.. chyba się nie pomyliłem w cyferkach - jesli tak to proszę poprawić :)

0

zadeklarowałem v jako string

potem przerobiłem kod na to:

v:= Char(Random(25) + 97);
s.Wnd :=handle;
s.wFunc :=fo_copy;
s.pFrom :=PChar(od);
s.pTo := PChar(sciezka+v);
s.fAnyOperationsAborted:=false;
s.fFlags := fof_noconfirmation or fof_renameoncollision;
s.lpszProgressTitle:='kopia';
shfileoperation(s);
Edit14.Text :=sciezka;

program kopiuje plik -ale z oryginalną nazwą -nie uwzględnia tego generowanego.... co mam jeszcze nie tak??

1 użytkowników online, w tym zalogowanych: 0, gości: 1