Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Примеры создания файлов, очень нужно :sample 
:(
    Опции темы
ShadowDancer
Дата 6.2.2006, 21:03 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Такая же ошибка, может из-за того что у меня пятая дельфи ? smile
  Вверх
Albinos_x
Дата 6.2.2006, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



проверь... создай новое приложение, брось кнопку, в обработчике напиши

DirectoryExists

зажми Ctrl наведи мышкой и щёлкни левой нопрой мыши, должен открыться модуль в котором он содержится... если открылся... значит ищи ошибку в коде у себя...


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Budy
Дата 6.2.2006, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: 1
Всего: 2



Цитата
Если кто может дать пример как допустим задал значения, а прога начиет создавать файл(ы) с определённым разрешение, именем, содержимым, буду очень благодарен.
И ещё пример проги создаючей файлы с различным разрешением, именем, содержимым и сохраняло в любом месте, где задумается и точно такие же параметры, только здоб раскидавала только в определённых каталогах.

ShadowDancer, а в чем собсно проблема? Иль тебя интерисуют сами процедуры и функции?
Ведь в файл незя пихать все что попало, точнее можно, но пользы от этого будет мало.
Сначала нужно знать какого формата данные как то типизированные иль просто текст сплошняком.

Но можно сохранять и определенный текст, например пишешь в Memo1 ченить:

Код
procedure CreateTextFile(const Path, FName, FExe {расширение}: String; const FData: TStrings);
begin
  if FExe<>'' then FName:=FName+'.'+FExe;
  try
    FData.SaveToFile(Path+'\'+FName);
  except
    ShowMessage('Нишо не вышло');
  end;
end;
...
{тогда юзай так}CreateTextFile('C:\Windows','proba','txt',Memo1.Lines);


Хотя вот тебе пример создания бесполезного текстового файла:

Код
procedure CreateTextFile(const Path, FName, FExe {расширение}: String; 
  FSize: Integer {нуный размер файла});
var
  F: TextFile;
  I: Integer;
begin
  if FExe<>'' then FName:=FName+'.'+FExe;
  AssignFile(F, Path+'\'+FName);
  {$I-} Rewrite(F);
    if IoResult<>0 then {собсно не удается создать файл, папка не существует или еще чего} Exit;
  For I:=1 to FSize do Write(F, Chr(Random(256)));
  CloseFile(F);
end;
...
CreateTextFile('C:\Windows','proba','txt',1024); {в моем примере файл будет ровно 1 Кб}


А если надо чтоб разного имени и расширения, то генери имя случайным образом:

Код
function GetNameForMe(NMinL{мин. длина имени}, NMaxL{макс. длина имени}, 
  DLen{длина расширения}: Integer): String;
const
  ABC='abcdefghijklmnopqrstuvwxyz1234567890';  //собсно "база данных" :)
var
  F, D: String;
  I: integer;
begin
  F:='';
  For I:=1 to NMinL+Random(NMaxL-NMinL)do
    F:=F+ABC[Random(Length(ABC))+1];
  D:='';
  For I:=1 to DLen do
    D:=D+ABC[Random(Length(ABC))+1];
  Result:=F+'.'+D;
end;
...
{тогда юзай такой пример}CreateTextFile('C:\Windows\',GetNameForMe(6,12,3),'',1024*1024);
{в этом примере создается файл бесполезного содержания с придуманным именем и расширением размером в целый Мегабайт. 
Вместо C:\Windows прописывай свои "определенные" папки :)}

Добавлено @ 21:49
DirectoryExists - это функция проверяет существует ли указанный каталог и возвращает значение типа Boolean

ЗЫ.Не уверен, но в Delphi 5 должна быть

Это сообщение отредактировал(а) Budy - 6.2.2006, 21:47


--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
ShadowDancer
Дата 7.2.2006, 22:32 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Albinos_x, нет не открылся.
Budy, спасибо буду разбирать.
  Вверх
Albinos_x
Дата 8.2.2006, 03:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



попробуй вот это подставить:
Код

function DirectoryExists(const Directory: string): Boolean;
{$IFDEF LINUX}
var
  st: TStatBuf;
begin
  if stat(PChar(Directory), st) = 0 then
    Result := S_ISDIR(st.st_mode)
  else
    Result := False;
end;

если не прокатит тогда попробуй так:
Код

function DirectoryExists(const Directory: string): Boolean;
begin
Result:=false;
try
  mkDir(Directory);
  rmDir(Directory);
 except
   Result:=true;
   end; 
end;


Это сообщение отредактировал(а) Albinos_x - 8.2.2006, 03:51


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
ShadowDancer
Дата 8.2.2006, 16:52 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Budy, в твои примерах CreateTextFile вылетает такая ошибка '[Error] Unit1.pas(31): Left side cannot be assigned to' что это значит ?
Albinos_x, второй пример кажется работает.
  Вверх
Yanis
Дата 8.2.2006, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(ShadowDancer @ 8.2.2006, 16:52 Найти цитируемый пост)

Budy, в твои примерах CreateTextFile вылетает такая ошибка '[Error] Unit1.pas(31): Left side cannot be assigned to' что это значит ?

А ты переводить тоже не умеешь?


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Budy
Дата 9.2.2006, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: 1
Всего: 2



ShadowDancer, так то не деолжно вылетать, в какой именно строке?
Вроде такая ошыпка вылетает когда константе (или read-only переменной) пытаешься присваивать значение

Это сообщение отредактировал(а) Budy - 9.2.2006, 16:51


--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0496 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.