Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Сохранить данные в файл из двух компонентов StringGrid   Найти похожие ветки 

 
r_yevgeniy ©   (2010-03-23 05:04) [0]

Здравствуйте! Не  получается корректно реализовать процедуру сохранения в файл данных взятых из ячеек двух компонентов StringGrid.
Написал код. но он какой то неправильный. Подскажите как реализовать чтобы работало как надо

procedure TMainForm.SaveToolBtnClick(Sender: TObject);
var i, j : byte;
   f : TextFile;
   s : String;
   s1: string;
begin
 AssignFile(f, "file.txt");
 Rewrite(f);
 for i:=0 to SG1.RowCount - 1 do
   for j:=0 to SG2.RowCount - 1 do
     begin
       s:=SG1.Cells[0,i];
       s1:=SG2.Cells[0,j];
       Writeln(f,s,s1);
     end;
 CloseFile(f)
end;


Сохранить нужно в файл, следующего вида:

Число Инверсия
456    654
546    645
139    931
1205  5012
180    081
065    560

Затем изменил печать в файл

Writeln(f, i, #9, j, #9, s,s1);

Получилось следующее

0 0 ЧислаИнверсия
0 1 Числа321
0 2 Числа654
0 3 Числа987
0 4 Числа741
0 5 Числа852
0 6 Числа963
0 7 Числа951
1 0 123Инверсия
1 1 123321
1 2 123654
1 3 123987
1 4 123741
1 5 123852
1 6 123963
1 7 123951
2 0 456Инверсия
2 1 456321
2 2 456654
2 3 456987
2 4 456741
2 5 456852
2 6 456963
2 7 456951

Программа работает следующим образом: в первую таблицу заносятся числа, нажимаем пуск и во второй выводятся соответствующие результаты
Вот ссылка на внешний вил и результаты в файле http://radiobd.narod.ru/2.jpg.
Подскажите что я делаю не так


 
MBo ©   (2010-03-23 08:06) [1]

Если я правильно понял проблему, используй не два, а один цикл, вероятно, от 0 до Min(SG1.RowCount - 1, SG2.RowCount - 1)


 
r_yevgeniy ©   (2010-03-23 11:01) [2]

Все я разобрался)
Привожу пример кода
procedure TMainForm.SaveToolBtnClick(Sender: TObject);
var i, j : byte;
   f : TextFile;
   s, s0, s1, space, space1, space2 : String;
begin
 AssignFile(f, "file.txt");
 ReWrite(f);
 for i:=0 to SG1.RowCount-1 do
   //for j:=1 to SG2.RowCount-1  do
     begin
       s:=SG1.Cells[0,i]; //номер строки
       s0:=SG1.Cells[1,i];// числа
       s1:=SG2.Cells[0,i]; // инверсия
       space:=StringOfChar(" ", 5-Length(s)); //выравние в файле
       space1:=StringOfChar(" ", 30-Length(s1));
       space2:=StringOfChar(" ", 30-Length(s1));
       Writeln(f, {i," ",} {j, #9,} s,space,s0,space1,s1,space2);
     end;
 CloseFile(f)
end;



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

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.058 c
4-1237105273
Дмитрий
2009-03-15 11:21
2010.08.27
Класс диалогового окна


15-1266164269
CSS
2010-02-14 19:17
2010.08.27
Win7 - не запускается проводник


15-1269108673
POP
2010-03-20 21:11
2010.08.27
Несколько форм в едиторе - Delphi 2007


2-1273738117
9x3bk
2010-05-13 12:08
2010.08.27
Работа с совмещением картинок


2-1268942955
aha
2010-03-18 23:09
2010.08.27
про DLL





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский