Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];

Вниз

Парадокс или моя невнимательность?   Найти похожие ветки 

 
JohnJ   (2004-08-23 01:03) [0]

Люди! Помогите! Не могу понять в чём фишка!!!
Фрагмент программы, отвечающий за копирование информации из StringGrid3 и StringGrid4 в
файлы tskva.dbj и tsorg.dbj соответственно: В StringGrid3 - 5 столбцов, в StringGrid4 - 6.
Сначала информация вводится вручную в StringGrid3 и StringGrid4 и сохраняется процедурой

WriteToFile. При следующем запуске программы процедура LoadFromFile считывает введённую

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

записывалась? Например, если у меня в StringGrid 4 было записано
 один два три четыре пять шесть
 1    2  3   4      5    6
               ууу ооо  иии ааа    ыыы  ффф

то при первом обращении к файлу массив TMOrg будет содержать
               ("один","1","ууу","","","")


const MaxOrg=5;
     MaxKva=5;
     Forg="tsorg.dbj";
     Fkva="tskva.dbj";

type
 MOrg=array[0..MaxOrg] of string[40];
 MKva=array[0..MaxKva] of string[40];

var
 Form1: TForm1;
 i,j:integer;
 TMOrg:MOrg;
 TMKva:MKva;
 fto:file of MOrg;
 ftk:file of MKva;

procedure LoadFromFile;
begin
 {Информация считывается с двух файлов:tsorg.dbj и tskva.dbj}
 AssignFile(ftk,Fkva);
 Reset(ftk);
 i:=1;
 with Form1 do
  while not EOF(ftk) do
   begin
     StringGrid3.RowCount:=i;
     Read(ftk,TMKva);
     for j:=1 to 5 do
      StringGrid3.Cells[i-1,j-1]:=TMKva[j];
     inc(i);
   end;
 CloseFile(ftk);
 AssignFile(fto,Forg);
 Reset(fto);
 i:=1;
 with Form1 do
  while not EOF(fto) do
   begin
     StringGrid4.RowCount:=i;
     Read(fto,TMOrg);
     for j:=0 to 5 do
      StringGrid4.Cells[i-1,j]:=TMOrg[j];
     inc(i);
   end;
 CloseFile(fto);
end;
procedure WriteToFile;  
begin
 {Информация из StringGrid3 и StringGrid4 записывается в файлы tskva.dbj и tsorg.dbj
  соответственно}
 AssignFile(ftk,Fkva);
 ReWrite(ftk);
 with Form1 do
  for i:=0 to StringGrid3.RowCount-1 do
   begin
     TMKva[0]:="=";
     for j:=0 to 4 do
      TMKva[j+1]:=StringGrid3.Cells[i,j];
     Write(ftk,TMKva);
   end;
 CloseFile(ftk);
 AssignFile(fto,Forg);
 ReWrite(fto);
 with Form1 do
  for i:=0 to StringGrid4.RowCount-1 do
   begin
     for j:=0 to 5 do
      TMOrg[j]:=StringGrid4.Cells[i,j];
     Write(fto,TMOrg);
   end;
 CloseFile(fto);
end;


 
JohnJ   (2004-08-23 01:30) [1]

Блин! Может у меня с компом не всё в порядке? Сейчас попробовал удалить эти файлы и записал заного... При загрузке пишет ошибку ввода-вывода номер 32... Кто знает что это за ошибка, или где это посмотреть?


 
JohnJ   (2004-08-23 01:53) [2]

Проблемма с ошибкой номер 32 - это ошибка совместного доступа. Оказалось что у меня в процедуре проверки файла на существование файл не закрывался... хотя странно почему работало раньше! Тем не менее первая проблема осталась актуальной! Помогите пожалуйста!


 
JohnJ   (2004-08-23 02:06) [3]

Простите за беспокойство - до меня дошло! Оказывается в ScringGrid.Cells сначала указывается столбец, а не строка! :)


 
Andy BitOff ©   (2004-08-23 02:38) [4]

Вот и поговорили :)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.044 c
6-1088176360
Сергей Г
2004-06-25 19:12
2004.09.05
E-Mail адрес


14-1092385281
guest
2004-08-13 12:21
2004.09.05
Интересно


14-1092834583
panov
2004-08-18 17:09
2004.09.05
Версия FreeBSD


9-1084693130
djxxx
2004-05-16 11:38
2004.09.05
Как создать форму в DLL


1-1092839081
Toshanius
2004-08-18 18:24
2004.09.05
Очет





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский