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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Типизированные файлы 
:(
    Опции темы
REVOLT
  Дата 20.11.2004, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 5.4.2004
Где: г. Бузулук

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



Ну теперь топик два! обясните плиз что такое типизированные файлы... и как с ними работать
PM MAIL WWW ICQ   Вверх
Satana
Дата 20.11.2004, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 564
Регистрация: 15.9.2004
Где: Ставрополь, СЗ ра йон

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



Типизированные файлы - это файлы в которых данные хранятся в бинарном формате,

наппример:

Код

type cost=record
 cena:real;
 naimenovanie:string;
end;
// описание файла будет таким:
var
f:file of cost;
peremennaya:cost;

begin
assignfile(f,'file_name');
rewrite(f);
peremennaya.cena:=10;
peremennaya.naimenovanie:='something';
wirte(f,peremennaya); //Добавляется одна запись из 2х полей в файл
end;

Точно также можно использовать файлы типа f:file of integer и т.п.



--------------------
 Работай на себя 
www.abalentsev.com - Сайт портфолио.
www.pokushau.ru - Рецепты со всего мира.
PM MAIL WWW ICQ   Вверх
REVOLT
Дата 20.11.2004, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 5.4.2004
Где: г. Бузулук

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



Скажи как из 4-х текстовых полей записать данные в файл
И как их стчитать оттуда... smile
PM MAIL WWW ICQ   Вверх
Alex
Дата 20.11.2004, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Satana Милый друг, будь так любезен проверять свой код перед публикацией в среде разработки. smile

И если не уверен в ответе то не отвечать. Тот пример, что ты дал НИКОГДА не будет работать т.к. в типизированный файл НЕЛЬЗЯ записывать длинные строки (String).
Добавлено @ 12:10
REVOLT и Satana Настоятельно советую прочитать статью http://forum.vingrad.ru/index.php?showtopic=1924


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Satana
Дата 20.11.2004, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 564
Регистрация: 15.9.2004
Где: Ставрополь, СЗ ра йон

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



А я и не писал что это рабочий код, а для прмера я считаю самое оно...


--------------------
 Работай на себя 
www.abalentsev.com - Сайт портфолио.
www.pokushau.ru - Рецепты со всего мира.
PM MAIL WWW ICQ   Вверх
Medved
Дата 20.11.2004, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Цитата(Alex @ 20.11.2004, 15:07)
И если не уверен в ответе то не отвечать. Тот пример, что ты дал НИКОГДА не будет работать т.к. в типизированный файл НЕЛЬЗЯ записывать длинные строки (String).


Можно записывать строки типа ShortString.

Код

type cost=record
 cena:real;
 naimenovanie:string[255]; //--------- fixed
end;
// описание файла будет таким:
var
f:file of cost;
peremennaya:cost;

begin
assignfile(f,'file_name');
rewrite(f);
peremennaya.cena:=10;
peremennaya.naimenovanie:='something';
write(f,peremennaya);
CloseFile(f); //--------- fixed thanks Alex
end;


Вот так работать должно.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Medved
Дата 20.11.2004, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



А вообще правильно такие вещи оформлять в таком виде. Вот пример из моего проекта который я делал совместно с младшим братом, это игра в танчики:

Код

unit uSetting;

interface

uses uGlobal,Windows;

type
 TSettingRecord = packed record //структура настроек игры
   BitCount: word; //количество цветов;
   ScrWidth: word; //ширина экрана
   ScrHeight: word; //высота экрана
   MapSize: word; //размер игрового поля в пикселях
   Square:word;//размер квадрата
   Space:word;// отступ игрового поля с лева и с верху
 end;

 TSettingGame = class //Настройки игры
 private
   FSetting: TSettingRecord;
 public
   property Setting: TSettingRecord read FSetting write FSetting;
   function LoadSetting(): word;
   function SaveSetting(ASetting: TSettingRecord; ARefresh: boolean): word;
 end;


implementation

function TSettingGame.LoadSetting(): word;
var
 vSettingFile: File of TSettingRecord;
 vSetting: TSettingRecord;
begin
 result := 0;//все ок

 AssignFile(vSettingFile,cFileSetting);

 try
   try
   {$I-}
   Reset(vSettingFile);
   {$I+}
   if IOResult <> 0 then
   begin
     MessageBox(0,PChar('Файл "'+cFileSetting+'" не найден!'),'Ошибка',MB_OK+MB_ICONERROR);
     result := 2; //неполучается открыть файл
     exit;
   end;

   read(vSettingFile, vSetting);

   Setting := vSetting;

   except
     MessageBox(0,'Ошибка при загрузке настроек!','Ошибка',MB_OK+MB_ICONERROR);
     result := 1; //неизвестная ошибка
     exit;
   end;

 finally
   CloseFile(vSettingFile);
 end;
end;

function TSettingGame.SaveSetting(ASetting: TSettingRecord; ARefresh: boolean): word;
var
 vSettingFile: File of TSettingRecord;
begin
 result := 0;//все ок

 AssignFile(vSettingFile,cFileSetting);

 try
   try
   {$I-}
   Rewrite(vSettingFile);
   {$I+}
   if IOResult <> 0 then
   begin
     MessageBox(0,PChar('Файл "'+cFileSetting+'" не найден!'),'Ошибка',MB_OK+MB_ICONERROR);
     result := 2; //неполучается открыть файл
     exit;
   end;

   write(vSettingFile, ASetting);

   if ARefresh then
   begin
     Setting := ASetting;
   end;

   except
     MessageBox(0,'Ошибка сохранения настроек!','Ошибка',MB_OK+MB_ICONERROR);
     result := 1; //неизвестная ошибка
     exit;
   end;

 finally
   CloseFile(vSettingFile);
 end;
end;

end.



--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Zero
Дата 20.11.2004, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 8
Всего: 24



REVOLT, я тоже не люблю когда меня, отправляют что-нибудь читать, но в данном случае я бы посоветовал прочитать про них литератупу, там не много. Я тоже первый раз подумал что раз звучит слово файл, то это что-то сверх естественное, но а в течении 2-ух часов понял, что работа с файлами это самая лёгкая тема... smile
PM MAIL ICQ   Вверх
Medved
Дата 20.11.2004, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Цитата(Zero @ 20.11.2004, 19:27)
REVOLT, я тоже не люблю когда меня, отправляют что-нибудь читать


С такой нелюбовью Вы мало чему научитесь. ИМХО я не встречал еще ни одного профессионала, который бы позволил себе высказывание, подобного рода.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Zero
Дата 20.11.2004, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 8
Всего: 24



Извини Pegas, возможно я не так выразился...я просто имелл ввиду, что когда задаёш вопрос по какой-нибудь сложной теме в которую нужно долго вникать чтобы понять, а вопрос к примеру важный, и если начинают предлогать что-нибудь прочитать к примеру ─ то чтобы понять которое нужно знать ресурс 2, а сам при этом незнаеш ресурс 1, ну и в этом роде, а не про то что можно выучить за 1 час, про которое ты подумал...
PM MAIL ICQ   Вверх
Alex
Дата 20.11.2004, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Цитата(Zero @ 20.11.2004, 17:11)
Извини Pegas, возможно я не так выразился...я просто имелл ввиду, что когда задаёш вопрос по какой-нибудь сложной теме в которую нужно долго вникать чтобы понять, а вопрос к примеру важный, и если начинают предлогать что-нибудь прочитать к примеру ─ то чтобы понять которое нужно знать ресурс 2, а сам при этом незнаеш ресурс 1, ну и в этом роде, а не про то что можно выучить за 1 час, про которое ты подумал...

Что же ты будешь делать в ситуации, когда на твой вопрос народ ответа знать не будет?
Если не привыкнешь читать документацию и лазить по чужим кодам на маленьких задачах, то не сможешь понять, как решить серьезный вопрос.


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Zero
Дата 20.11.2004, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 8
Всего: 24



Alex, я же говорю, что не имел ввиду, что вообще не люблю, читать документации...
А в определённых случаях они быват неуместными...
А к примеру, какие-либо вещи чтобы узнать я и сам всегда читаю это либо в книге по Delphi про определённый компонент, либо ещё где-нибудь.
Но раз уж вы заговорили про это, то вот вам пример:
представь, вот ты читаешь, какую-нибудь статью, или что-нибудь, в чём тебе нужно разобратся, и не можеш сам понять как это должно работать, потом пишеш вопрос в форум, а тебе пишут ответ читай литературу, да ещё укажут на ту же которую сам только прочитал, как тогда тебе понравится это или нет... smile Только не говори что если ты найдёш литературу, которая написана в тему, то ты всегда её разберёш, я по своему опыту знаю что это не так...
PM MAIL ICQ   Вверх
Alex
Дата 20.11.2004, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Цитата(Zero @ 20.11.2004, 20:35)
представь, вот ты читаешь, какую-нибудь статью, или что-нибудь, в чём тебе нужно разобратся, и не можеш сам понять как это должно работать, потом пишеш вопрос в форум, а тебе пишут ответ читай литературу, да ещё укажут на ту же которую сам только прочитал, как тогда тебе понравится это или нет...  Только не говори что если ты найдёш литературу, которая написана в тему, то ты всегда её разберёш, я по своему опыту знаю что это не так...

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


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Zero
Дата 20.11.2004, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 8
Всего: 24



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

Alex, именно этого ответа, я от тебя и добивался, чтобы ты сам подтвердил, что не всегда любишь, когда тебя отсылают что-нибудь читать... Я надеюсь теперь то вы с Пегасом поняли про что я имелл ввиду??? smile
PM MAIL ICQ   Вверх
Alex
Дата 20.11.2004, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Цитата(Zero @ 20.11.2004, 21:34)
Alex, именно этого ответа, я от тебя и добивался, чтобы ты сам подтвердил, что не всегда любишь, когда тебя отсылают что-нибудь читать... Я надеюсь теперь то вы с Пегасом поняли про что я имелл ввиду???

Я говорю о том, что если вопрос задать правильно, то тебя и не отправят ничего читать.


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Zero
Дата 20.11.2004, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 8
Всего: 24



Ладно, не будем спорить, ни к чему хорошему он не приведёт...
PM MAIL ICQ   Вверх
Medved
Дата 20.11.2004, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Я понял Zero Вашу мысль. Вы говорите, что иногда на форуме, могут ответить линком на статью, которая не дает ответа на Ваш вопрос. Но в которой говориться о той теме, к которой относиться Ваш вопрос.
Но опять же. Это проблема как сказал Алекс - постановки вопроса. Если бы Вы конкретно посттавили вопрос, расписав что-да как, и что именно вызывает у Вас затруднение - тогда Вам или дадут ссылку на ту статью, где точно дан ответ на вопрос, или ответят, или не ответят.

А если вопрос задан "коряво", очень размазано и непонятно, то соответственно дадут линк на ту статью, которая так же размазано и отвечает на вопрос.

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

Но в самом первом топике вы неправильно выразились. Вы хотели сказать, что статья действительно очень хорошо и обстоятельно отвечает на вопрос, а получилось, что как буд-то вы совсем не любите читать.

Все, вопрос кажется исчерпан. Все участники были понятны друг другом, и был дан конкретный ответ автору топика.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Vit
Дата 21.11.2004, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Раз уж тут такой офтоп пошёл вставлю и свои 3 копейки по поводу отсылок к литературе... Я сам не люблю когда отсылают не отвечая. Но есть иногда случаи когда не отослать невозможно. Например вопросы типа: "А как мне запомнить число в базе данных" - такой вопрос говорит о том что пример кода в данном случае не поможет, человек вообще не имеет понятия о предмете, и ему хочешь не хочешь прийдётся прочитать пару глав по работе с базами данных...




--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Zero
Дата 21.11.2004, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 8
Всего: 24



Цитата
Я сам не люблю когда отсылают не отвечая. Но есть иногда случаи когда не отослать невозможно. Например вопросы типа

Наконец то, нашолся человек который меня срау понял... smile
PM MAIL ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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