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

Вниз

Сохранить данные в файл из двух компонентов 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.059 c
15-1271934964
зашел спросить
2010-04-22 15:16
2010.08.27
FloatToBin


6-1219864648
Boooze
2008-08-27 23:17
2010.08.27
проблема с сокетами


15-1265817082
Медвежонок Пятачок
2010-02-10 18:51
2010.08.27
Тоска-печаль


15-1265377108
vovko26
2010-02-05 16:38
2010.08.27
С чего начать?


11-1219838416
Maloric
2008-08-27 16:00
2010.08.27
OwnerDraw для ListView





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