Главная страница
    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
2-1273589073
Евгений Р.
2010-05-11 18:44
2010.08.27
Работа с tTollButton


4-1237722427
Delion
2009-03-22 14:47
2010.08.27
Comm Port под Vista AMDx64


15-1272634082
JohnKorsh
2010-04-30 17:28
2010.08.27
Как в Windows7 отключить UAC?


15-1268978113
oldman
2010-03-19 08:55
2010.08.27
Драйвер для Xerox Phaser 3117 под МЕ


2-1273211356
slay64
2010-05-07 09:49
2010.08.27
Ошибка в запросе





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