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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Из консоли в оконный 
:(
    Опции темы
Gloomber
  Дата 2.5.2006, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 28.4.2006
Где: Moscow

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



Как написать эту прогу оконном режиме. 

Код

type
  matrix = array[1..100] of array[1..100] of byte;
var
  n,m: byte;
  a:matrix;
  f:TextFile;
{************************************}
{Чтение матрицы}
Procedure ReadMatr(var Matr:matrix;Name:string);
Var i,j:byte;
begin
  AssignFile (f,Name); reset(f);
  i:=1;
  while not seekeof(f) do begin
    j:=1;
    while not seekeoln(f) do begin
      read(f, matr[i,j]); inc(j)
    end;
    readln(f);
    inc(i)
  end;
 closeFile (f);
  for i:=1 to n do
   for j := 1 to m do
      write(matr[i,j])
end;
{*************************************}
{Запись матрицы}
Procedure WriteMatr(var Matr:matrix;Name:string);
Var i,j:byte;
Begin
For i:=1 to n do
 For j:=1 to m do read(matr[i,j]);
AssignFile(f,Name); Rewrite(f);
For i:=1 to n do
 begin
For j:=1 to m do
Write (f,matr[i,j]);
writeln(f)
end;
CloseFile(f)
end;
{**************************************}
{Основная прога}
Begin
write('Strok :');readln(n);
write('Stolbcov :');readln(m);
WriteMatr(a,'1.txt');
ReadMatr(a,'1.txt');
end.

 
PM MAIL ICQ   Вверх
Alexeis
Дата 2.5.2006, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



С минимальными изменениями примрно так
Код

type
  matrix = array[1..100] of array[1..100] of byte;

var
  n, m : byte;
  a    : matrix;
  f    : TextFile;

{************************************}
{Чтение матрицы}
Procedure ReadMatr(var Matr:matrix;Name:string);
Var
  i,j : byte;
  S : AnsiString;

begin
  AssignFile (f, Name);
  reset(f);
  i := 1;
  while not seekeof(f)
  do
    begin
      j := 1;
      while not seekeoln(f)
      do
        begin
          read(f, matr[i,j]);
          inc(j)
        end;
      readln(f);
      inc(i)
    end;

  closeFile(f);
  for i := 1 to n
  do
   for j := 1 to m
   do
     Form1.StringGrid1.Cells[i, j] := FloatToStr(matr[i,j]);
end;

{*************************************}
{Запись матрицы}
Procedure WriteMatr(var Matr:matrix;Name:string);    
Var
  i, j : byte;
Begin    
  for i := 1 to n
  do
    for j := 1 to m
    do
     matr[i,j] := StrToFloat(Form1.StringGrid1.Cells[i, j]);

  AssignFile(f,Name);
  Rewrite(f);
  For i := 1 to n
  do
    begin
      For j := 1 to m
      do
        Write(f, matr[i,j]);
      writeln(f)
    end;
  CloseFile(f)
end;

procedure TForm1.btn1Click(Sender: TObject);
begin
  n := StrToint(Edit1.text);
  m := StrToint(Edit2.text);
  WriteMatr(a,'1.txt');
  ReadMatr(a,'1.txt');
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
  Label1.Caption := 'Strok :';
  label2.Caption := 'Stolbcov :';
end;
 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Gloomber
Дата 10.5.2006, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 28.4.2006
Где: Moscow

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



А если использовать Memo??? smile  
PM MAIL ICQ   Вверх
Alexeis
Дата 11.5.2006, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



Gloomber, С memo намного сложнее надо будет выделять отдельные числа из строки, кроме того в мемо вводить неудобно, ведь числа будут разной длинны, а для формирования встолбцов придется кучу пробелов писать, а если использовать что-то вроде Times new roman так вообще выровнять не удастся. Чем StringGrid не подходит может вашу проблему можно проще решить. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Gloomber
Дата 12.5.2006, 08:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 28.4.2006
Где: Moscow

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



Почему у меня, когда запускаю прогу, нельзя ничего ввести в StringGrid??? 
PM MAIL ICQ   Вверх
Alexeis
Дата 12.5.2006, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



в Oblect inspector надо выбрать StringGrid1-> options-> goEditing 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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