![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Строки после обновления
Proshka © (2013-01-18 19:52:00)Мастера, помогите пожалуста
Открыл в XE3 (Эмбаркадеро) подредактировать програмку написанную мной же в D6. Скомпиленная тогда еще в D6 она и сейчас работает, а перекомпиленная в XE3 - нихотит.
Проблемная подпрограмма - вот она
procedure moov(FType: string);
var
TSR: TSearchRec;
i: integer;
si,ssss,onstr,nnstr: string;
begin
i:=10*(10+StrToInt(Copy(ss,7,2)));
ssss:=CDir+'*'+ftype;
if FindFirst(CDir+'*'+ftype,faAnyFile,TSR) = 0 then repeat
inc(i); si:=IntToStr(i);
onstr:=CDir+TSR.Name;
nnstr:=CnPath+si+FType;
RenameFile(onstr,nnstr);
Form1.Label4.Caption:=nnstr;
until FindNext(TSR)<>0;
end;
Я "разбавил" ее переменными и выводом в лэйблы пытаясь понять....
Мне не помогло.
Странно что в режиме отладки переменная получается "правильной", именно сумма CnPath+si+FType, а вот Label4.Caption ее отображает почемуто "обрезанной", равной только CnPath
По видимому такойже "недоделанной" она попадает и в функцию RenameFileоттого она и не работает.
А вот понять откуда тут ноги равтут моего ума не хватает.
Помогите, а?
Proshka (2013-01-18 20:18:00) [21]программа все фото (расширения в 'PictureMoover.set' в виде ".jpg") в своем каталоге, переименовывает в сегодняшнюю дату и ложит их в папку именем текущего месяца вида "гггг.мм" ,папку создает если ее нет
Proshka (2013-01-18 20:14:00) [22]сорри, последняя процедура к делу отношения не имеет, я ею проверял правильно ли я пользую RenameFile
Proshka (2013-01-18 20:12:00) [23]unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
var
SetFileName: String = 'PictureMoover.set';
SetFile: TextFile;
FileType: array[1..20] of string;
NumT,sp,j: integer;
CDir,CnDir,CnPath,CFile,CDate,CTime,ss,sd: string;
procedure moov(FType: string);
var
TSR: TSearchRec;
i: integer;
si,ssss,onstr,nnstr: string;
begin
i:=10*(10+StrToInt(Copy(ss,7,2)));
ssss:=CDir+'*'+ftype;
if FindFirst(CDir+'*'+ftype,faAnyFile,TSR) = 0 then repeat
inc(i); si:=IntToStr(i);
onstr:=CDir+TSR.Name;
nnstr:=CnPath+si+FType;
RenameFile(onstr,nnstr);
Form1.Label2.Caption:=si+FType;
Form1.Label3.Caption:=onstr;
Form1.Label4.Caption:=nnstr;
until FindNext(TSR)<>0;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
NumT:=0;
AssignFile(SetFile,SetFileName);
Reset(SetFile);
while not Eof(SetFile) do begin
inc(NumT);
Readln(SetFile,FileType[NumT]);
end;
CDir:= GetCurrentDir + '\';
CDate:=DateToStr(Date);
Label1.Caption:= CDir;
Label2.Caption:=CDate;
ss:= TimeToStr(Time);
Label3.Caption:=ss;
CTime:='('+ copy(ss,1,5) +')-';
CnDir:=CDir + copy(CDate,7,4) +'.'+ copy(CDate,4,2);
Label4.Caption:= CnDir;
if not DirectoryExists(CnDir) then CreateDir(CnDir);
sd:= Copy(CDate,1,2)+'.'+Copy(CDate,4,2)+'.'+Copy(CDate,7,2);
CnPath:=CnDir + '\' + sd + CTime;
for j:=1 to NumT do moov(FileType[j]);
Label4.Caption:=CnPath;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
RenameFile('e:\temp\1111.txt','e:\temp\1\2222.txt')
end;
end.
bems (2013-01-18 20:07:00) [24]а ss? и где оно все инициализируется?
давай полный код, а то непонятно же ничего
Proshka (2013-01-18 20:06:00) [25]CDir:= GetCurrentDir + '\'; тут в кавычках косая черта (слэш)
Proshka (2013-01-18 20:05:00) [26]
CDir:= GetCurrentDir + '\';
bems (2013-01-18 20:03:00) [27]а чё такое CDir?