Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Строки после обновления


Страницы:   1 2

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-19 18:05:00) [1]

> А может быть не корректна?
я в первую очередь думал оне выставленных часах в фотике, тогда фотки будут датированы скажем годом 2001, а делались они на самом деле в течение последнего полугода.


Dimka Maslov   (2013-01-19 11:15:00) [2]

При переное программ в новые версии Delphi прежде всего надо помнить о том, что тип string претерпел колоссальные изменения и теперь означает вовсе не то, что было в винтажных версиях. Это я про юникоды.


Германн   (2013-01-19 02:28:00) [3]


> А может быть не корректна?

Может. Если её неграмотно "вытаскивать из свойств файла". :)


Inovet   (2013-01-19 01:31:00) [4]

> [23] Proshka   (19.01.13 01:09)
> вытаскивать дату из сбойств файла и если она коректна

А может быть не корректна?


Proshka   (2013-01-19 01:09:00) [5]

пожалуй я ее всю перепишу ))
тем более что возникла необходимость вытаскивать дату из сбойств файла и если она коректна - использовать ее в имени


bems   (2013-01-18 23:32:00) [6]

так и я говорю что не нужно, а нужно брать все компоненты из самой даты


clickmaker   (2013-01-18 22:58:00) [7]

а зачем там вообще что-либо парсить? Если задача
> программа все фото (расширения в 'PictureMoover.set' в виде
> ".jpg") в своем каталоге, переименовывает в сегодняшнюю
> дату и ложит их в папку именем текущего месяца


bems   (2013-01-18 22:11:00) [8]


> FormatDateTime()

это ответ как форматировать дату. а если почитать код, то там другая проблема - из даты получается строка, а она потом парсится. вместо этого нужно делать DecodeTime и DecodeDate, минуя строковое представление


Proshka   (2013-01-18 22:05:00) [9]

ага, спасибо


clickmaker   (2013-01-18 21:37:00) [10]

> как же его правильно написать?

FormatDateTime()


Proshka   (2013-01-18 21:18:00) [11]

Не судите строго, хоть я Делфи и пользуюсь с 5 версии но запускаю ее раза 2 в году...


Proshka   (2013-01-18 21:14:00) [12]

хе, я изза этих форматов прогу уже переделывал при переходе с ХР на W7, а как же его правильно написать?
С другой стороны этой программой только я пользуюсь, ну может еще 2 человека...


bems   (2013-01-18 21:09:00) [13]

а что будет при других форматах даты и времени ты предпочитаешь не думать. ну правильным путём идешь, чо


Proshka   (2013-01-18 21:08:00) [14]

CTimeиспользуется в имени файла, а там
двоеточие нельзя


Proshka   (2013-01-18 21:06:00) [15]

я не знал этих функций, буду юзать , спасибо.    А шибка была в CTime:='('+ copy(ss,1,5) +')-';

она ":" внутри дает
переделал в CTime:='('+ copy(ss,1,2)+'.'+copy(ss,4,2) +')-';
работает, спасибо еще раз


Игорь Шевченко   (2013-01-18 20:55:00) [16]

if not RenameFile(onstr,nnstr) then
 RaiseLastOsError;


bems   (2013-01-18 20:55:00) [17]

GetLastError что возвращает?


Proshka   (2013-01-18 20:54:00) [18]

аааа, нашел кажись, там в новом имени двоеточие выскакивает...
Спасибо


Proshka   (2013-01-18 20:38:00) [19]

и правда, пасиб, только   RenameFile(onstr,nnstr);всеравно не работает ((


bems   (2013-01-18 20:35:00) [20]


> Странно что в режиме отладки переменная получается "правильной",
>  именно сумма CnPath+si+FType, а вот Label4.Caption ее отображает
> почемуто "обрезанной", равной только CnPath

вот поэтому

>   for j:=1 to NumT do moov(FileType[j]);
>              Label4.Caption:=CnPath;

ты сразу после moov перезаписываешь Label4.Caption


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо