Форум: "Начинающим";
Текущий архив: 2012.01.15;
Скачать: [xml.tar.bz2];
ВнизСоздание xml файла в делфи Найти похожие ветки
← →
Медвежонок Пятачок © (2011-09-30 10:40) [40]сначала вежливо, а если не поймет, скажи, что позовешь местных и они ему наваляют.
кстати, открой секрет, кто такой "он"?
← →
vgvolk (2011-09-30 10:46) [41]Нужно прииллюстрировать это на прмере.Он это делфи
← →
Медвежонок Пятачок © (2011-09-30 11:03) [42]ты вообще в курсе, что делфи надо запрограммировать, чтобы "он" кидал что-то куда-то и создавал папки где-то?
ты папку создавал?
← →
Dennis I. Komarov © (2011-09-30 11:18) [43]
> Нужно прииллюстрировать это на прмере
Кому?
← →
stas © (2011-09-30 11:52) [44]http://www.google.com.ua/search?rlz=1C1_____enUA410UA410&aq=f&sourceid=chrome&ie=UTF-8&q=delphi+%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D1%82%D1%8C+%D0%BF%D0%B0%D0%BF%D0%BA%D1%83
← →
Плохиш © (2011-09-30 12:31) [45]Изучение делфи на форуме за неделю для полных идиотов.
← →
vgvolk (2011-10-03 19:46) [46]Так папку я создал
procedure TForm1.btn3Click(Sender: TObject);
Этот код создает пустую папку с текущей датой в нужном месте НО
var fil: TextFile;
s:string;
begin
begin
ForceDirectories("C:\Форма1П\Выходные данные\"+DateToStr(Date));
fullFileName := "C:\Форма1П\Выходные данные\";
AssignFile(fil,ExtractFilePath (fullFileName)+cbb1.Text+".txt");
if FileExists(ExtractFilePath (fullFileName)+cbb1.Text+".txt") then
Append(fil) else rewrite(fil);
Writeln(fil,"<?xml version="1.0" encoding="UTF-8"?><package subdivision=""+cbb1.text+"" name="" date=""+formatdatetime("yyyymmdd",Date())+"">");
CloseFile(fil);
куда мне вписать DateToStr(Date) чтобы текстовый файл он создавал в той же папке.Вставляю сюда fullFileName := "C:\Форма1П\Выходные данные\"+DateToStr(Date); Эффект нулевой.Что не так?
← →
vgvolk (2011-10-04 09:45) [47]Никто не видет проблемы в коде а то я уже запарился.Мне нужно чтобы он все эти операции делал в папке с текущей датой.
← →
RWolf © (2011-10-04 09:55) [48]> ExtractFilePath (fullFileName)+cbb1.Text+".txt"
и чему равняется ExtractFilePath (fullFileName)+cbb1.Text+".txt" ?
← →
Cobalt © (2011-10-04 09:56) [49]Рекомендую пройтись по коду, вслух проговаривая, что именно делает твоя программа.
А то у тебя взгляд замылился.
← →
stas © (2011-10-04 11:50) [50]Cobalt © (04.10.11 09:56) [49]
+1
или напиши комментарии на каждой строчке
← →
vgvolk (2011-10-04 12:20) [51]
procedure TForm1.btn3Click(Sender: TObject);
var fil: TextFile;
begin
begin
ForceDirectories("C:\Форма1П\Выходные данные\"+DateToStr(Date));{Создает папку с именем равныи текущей дате}
fullFileName := "C:\Форма1П\Выходные данные\";{Создание относительного пути}
AssignFile(fil,ExtractFilePath (fullFileName)+cbb1.Text+".txt");{ExtractFilePath (fullFileName)это путь выше,cbb1.Text это код берется из комбобокса}
if FileExists(ExtractFilePath (fullFileName)+cbb1.Text+".txt") then
Append(fil) else rewrite(fil);{Если файл существует тогда добавить данные если нет тогда создать новый файл}
Writeln(fil,"<?xml version="1.0" encoding="UTF-8"?><package subdivision=""+cbb1.text+"" name="" date=""+formatdatetime("yyyymmdd",Date())+"">");{Запись текста в файл }
CloseFile(fil);{Закрытие файла}
Этот код создает папку именем равныи текущей дате(C:\Форма1П\Выходные данные\04.10.11) и текстовый файл(C:\Форма1П\Выходные данные\файл.txt) а мне нужно чтобы он сделал так(C:\Форма1П\Выходные данные\04.10.11\файл.txt).Т.е. чтобы он скидывал текстовый файл скидывался в путь создаваем функцией ForceDirectories.Вот такие пироги.
← →
SergP © (2011-10-04 12:35) [52]fullFileName := "C:\Форма1П\Выходные данные\";{Создание относительного пути}
какой путь создаешь, туда программа и скидывает файлы.
Если нужно с датой, то
fullFileName := "C:\Форма1П\Выходные данные\"+DateToStr(Date)+"\";
ЗЫ Только не работай с этой программой в полночь.
← →
Dennis I. Komarov © (2011-10-04 12:41) [53]ведь поди прога, (Судя по "Форма1П") для чьей-то работы нужна...
← →
Очень Злой (2011-10-04 12:49) [54]
> в путь создаваем функцией ForceDirectories.Вот такие пироги.
эта функция создает папку а не путь... Кроме того, она еще возвращает некоторое значение, которое тоже не помешало бы проанализировать...
А путь - это набор символов, показывающий расположение файла/папки в файловой системе.
← →
vgvolk (2011-10-04 12:51) [55]ГИГАНТСКОЕ Спасибо.Теперь работает.Я делал почти то же самое только не знал что после DateToStr(Date) нужно писать слэш в кавычках)
← →
SergP © (2011-10-04 13:12) [56]
> vgvolk (04.10.11 12:51) [55]
>
> ГИГАНТСКОЕ Спасибо.Теперь работает.Я делал почти то же самое
> только не знал что после DateToStr(Date) нужно писать слэш
> в кавычках)
> ForceDirectories("C:\Форма1П\Выходные данные\"+DateToStr(Date));
> {Создает папку с именем равныи текущей дате}
> fullFileName := "C:\Форма1П\Выходные данные\";{Создание
> относительного пути}
Только лучше вычисляй дату один раз. а то действительно может глюкануть в полночь, Если между созданием папки и созданием файла произойдет смена даты, то глюканет...
Хотябы типа так:
fullFileName:="C:\Форма1П\Выходные данные\"+DateToStr(date);
ForceDirectories(fulFileName);
fullFileName := fullFileName+"\";
← →
vgvolk (2011-10-04 14:08) [57]Спасибо.Попробую.Кстати я заметил такой глюк при смене раскладки клавиатуры(Shift+Alt) на форме пропадают все неактивные элементы,наверное это горячая клавиша делфи.хотя в списке горячих клавиш я не увидел.Может это глюк моей программы.Никто не сталкивался с подобным.Как ликвидировать этот глюк?
← →
Cobalt © (2011-10-04 14:24) [58]Насчет слешей - используй всегда функцию IncludeTrailingPathDelimiter()
а насчет неактивных - это как - пропадают?
в дизайнере?
совсем? из из модуля тоже?
или скрываются?
← →
stas © (2011-10-04 14:31) [59]vgvolk (04.10.11 14:08) [57]
У тебя windows 7 ?
Это глюк, я тоже такое замечал.
← →
RWolf © (2011-10-04 16:46) [60]у меня тоже windows 7, но я такого не замечал.
как воспроизвести?
← →
vgvolk (2011-10-04 17:18) [61]Они скрываются.Если на них отправляется действие то они появляются.Это получилось на Висте.Сейчас попробовал на ХР ничего не пропадает.
← →
stas © (2011-10-04 17:20) [62]RWolf © (04.10.11 16:46) [60]
У меня это происходит на формах с XP манифеестом, нажимаешь ALT и контролы исчезают, потом либо сразу появляются либо мышкой надо провести по форме.
← →
vgvolk (2011-10-04 17:25) [63]Да это и есть тот самый глюк
← →
vgvolk (2011-10-05 12:48) [64]
procedure TForm1.btn3Click(Sender: TObject);
var fil: TextFile;
begin
begin
ForceDirectories("C:\Форма1П\Выходные данные\"+DateToStr(Date));{Создает папку с именем равныи текущей дате}
fullFileName := "C:\Форма1П\Выходные данные\"+DateToStr(Date)+"\";
AssignFile(fil,ExtractFilePath (fullFileName)+cbb1.Text+".txt");{ExtractFilePath (fullFileName)это путь выше,cbb1.Text это код берется из комбобокса}
if FileExists(ExtractFilePath (fullFileName)+cbb1.Text+".txt") then
Append(fil) else rewrite(fil);{Если файл существует тогда добавить данные если нет тогда создать новый файл}
Writeln(fil,UTF8Encode("<?xml version="1.0" encoding="UTF-8"?><package subdivision=""+cbb1.text+"" name="" date=""+formatdatetime("yyyymmdd",Date())+"">"));{Запись текста в файл }
CloseFile(fil);{Закрытие файла}
Код создает папку с текущей датой вставляет туда файлы.Но если я заново зайду в тот же день новый текстовый файл создается в той же папке.Куда мне вставить цикл чтобы если такая папка существует то он создавал новую папку с текущей датой долько добавил к имени(1).К следующей (2) и т.д.Типа C:\Папка\папка с текущей датой(1) потом C:\Папка\папка с текущей датой(1)?
← →
RWolf © (2011-10-05 13:12) [65]инструмент выбирается, исходя из решаемой задачи, а не наоборот.
с чем связан выбор именно цикла как инструмента?
← →
Медвежонок Пятачок © (2011-10-05 13:15) [66]чтобы если такая папка существует то он создавал новую папку с текущей датой долько добавил к имени(1).К следующей (2)
сам спросил, сам ответил.
while directoryexists(dir_name) do
inc(i);
dir_name := dir_name + inttostr(i);
....
← →
vgvolk (2011-10-05 13:30) [67]А заместь dir_name мне написать "C:\Форма1П\Выходные данные\"+DateToStr(Date)?Пишет ошибку.А инструмент мне без разницы какой просто я думаю тут цикл нужен.
← →
Медвежонок Пятачок © (2011-10-05 13:32) [68]Пишет ошибку.
Раз пишет, то это неспроста.
Это надо читать.
← →
vgvolk (2011-10-05 13:35) [69]
while directoryexists("C:\Форма1П\Выходные данные\"+DateToStr(Date)) do
inc(i);
"C:\Форма1П\Выходные данные\"+DateToStr(Date) := "C:\Форма1П\Выходные данные\"+DateToStr(Date) + inttostr(i)
Пишет левая сторона не может назначить к
← →
Медвежонок Пятачок © (2011-10-05 13:38) [70]он тебе правду пишет.
ты ему верь.
← →
vgvolk (2011-10-05 13:38) [71]Что конкретно не правильно?
← →
Медвежонок Пятачок © (2011-10-05 13:41) [72]все что после inc
← →
Dennis I. Komarov © (2011-10-05 13:41) [73]
> Медвежонок Пятачок © (05.10.11 13:15) [66]
>
> чтобы если такая папка существует то он создавал новую папку
> с текущей датой долько добавил к имени(1).К следующей (2)
>
> сам спросил, сам ответил.
>
> while directoryexists(dir_name) do
> inc(i);
> dir_name := dir_name + inttostr(i);
> ....
В твоем коде Inc() не обязателен :)
← →
Плохиш © (2011-10-05 13:41) [74]
> "C:\Форма1П\Выходные данные\"+DateToStr(Date) := "C:\Форма1П\Выходные
> данные\"+DateToStr(Date) + inttostr(i)
>
Надо распечатать и на стену повесить
← →
Dennis I. Komarov © (2011-10-05 13:42) [75]
> Что конкретно не правильно?
Мозг...
← →
vgvolk2 (2011-10-05 13:43) [76]Так как написать её имя мне же нужно прописать полный путь.
Блин уже кто-то под моим логином зарегистрировался
← →
Плохиш © (2011-10-05 13:47) [77]Книжку прочитать пора всё-таки...
← →
Медвежонок Пятачок © (2011-10-05 13:48) [78]полный путь, а не полные пути.
мужской род, единственное число.
← →
SergP © (2011-10-05 13:54) [79]Это:
ForceDirectories("C:\Форма1П\Выходные данные\"+DateToStr(Date));{Создает папку с именем равныи текущей дате}
fullFileName := "C:\Форма1П\Выходные данные\"+DateToStr(Date)+"\";
замени на это:filepath:="C:\Форма1П\Выходные данные\"+DateToStr(Date);
addname:="";
i:=1;
while not ForceDirectories(filepath+addname) do
begin
addname:="("+inttostr(i)+")";
inc(i);
end;
fullFileName:=filepath+addname+"\";
Вроде так, хз... Может заработает...
Только в var добавь:
addname:string;
i:integer;
← →
stas © (2011-10-05 14:00) [80]vgvolk (05.10.11 13:38) [71]
Мы уже всем форумом тебе программу пишем, с тебя коньяк.
...Каждому)
Страницы: 1 2 3 вся ветка
Форум: "Начинающим";
Текущий архив: 2012.01.15;
Скачать: [xml.tar.bz2];
Память: 0.61 MB
Время: 0.005 c