Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра
  #46  
Старый 15.04.2008, 17:32
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

Их как хаписать надо? Просто под ряд или так чтобы потом загрузить в StringGrid можно было?
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.
  #47  
Старый 15.04.2008, 18:23
MegaPiha MegaPiha вне форума
Активный
 
Регистрация: 24.03.2008
Сообщения: 227
Версия Delphi: Delphi 7
Репутация: 30
По умолчанию

Цитата:
Сообщение от AndrYxo
MegaPiha - спасибо - ознакомился - только не могу понять как сделать, что бы в файл выводило данные стрингргрида?

Код:
procedure TForm1.Button5Click(Sender: TObject);
var i,j:integer;
outfile: TextFile;
begin
   AssignFile(outfile, 'c:\outfile.txt');
   Rewrite(outfile);
   n:=strtoint(edit1.Text);
   m:=strtoint(edit5.Text);
   n:=12;
   m:=9;
   setlength(C,n,m);
   stringgrid1.RowCount:=n;
   stringgrid1.ColCount:=m;
   for i:=0 to n-1 do
   begin
     for j:=0 to m-1 do
     begin
        C[i,j]:=cos(14*j+1);
        stringgrid1.Cells[j,i]:=FormatFloat('0.00',C[i,j]);
        write(outfile, FormatFloat('0.00',C[i,j])+ ' ');
      end;
     writeln(outfile, '');
    end;
    CloseFile(outfile);
end;
  #48  
Старый 15.04.2008, 18:47
AndrYxo AndrYxo вне форума
Начинающий
 
Регистрация: 04.04.2008
Сообщения: 115
Репутация: 10
По умолчанию

Цитата:
Сообщение от The Shadow
Их как хаписать надо? Просто под ряд или так чтобы потом загрузить в StringGrid можно было?
Просто нудно что бы данные из стрингрида в документ выводило - не более того...

MegaPiha пасиб конечно - но работать у мен не хочет че-то - выдает ошибку I/O error 32
  #49  
Старый 15.04.2008, 19:33
MegaPiha MegaPiha вне форума
Активный
 
Регистрация: 24.03.2008
Сообщения: 227
Версия Delphi: Delphi 7
Репутация: 30
По умолчанию

Цитата:
Сообщение от AndrYxo
Просто нудно что бы данные из стрингрида в документ выводило - не более того...

MegaPiha пасиб конечно - но работать у мен не хочет че-то - выдает ошибку I/O error 32
У меня работает. А на какой строке?
  #50  
Старый 15.04.2008, 20:06
AndrYxo AndrYxo вне форума
Начинающий
 
Регистрация: 04.04.2008
Сообщения: 115
Репутация: 10
По умолчанию

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

Код:
unit Unit6;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, Math;

type
  TForm6 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    StringGrid1: TStringGrid;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;

    Button8: TButton;
    Button9: TButton;
    Button10: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;

    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form6: TForm6;
  Y:array of array of real;
  C:array of array of real;
  A:array of array of real;
  B:array of array of real;
  n:integer;
  m:integer;
  k:integer;
  l:integer;


implementation

uses Unit1;

{$R *.dfm}

procedure TForm6.Button1Click(Sender: TObject);
begin
Form1.Show;
Form6.Close;
end;

procedure TForm6.Button2Click(Sender: TObject);
var i,j:integer;
begin
n:=strtoint(edit1.Text);
m:=strtoint(edit2.Text);
setlength(Y,n,m);
stringgrid1.RowCount:=n;
stringgrid1.ColCount:=m;
for i:=0 to n-1 do
  for j:=0 to m-1 do
    begin
    Y[i,j]:=random(50--50+1)-50;
    stringgrid1.Cells[j,i]:=FormatFloat('0.00',Y[i,j]);
end;
end;


procedure TForm6.Button3Click(Sender: TObject);

var i,j,t:integer;
tmp:real;
begin
m:=stringgrid1.ColCount;
k:=strtoint(edit3.text)-1;
l:=strtoint(edit4.text)-1;
if (k=-1) then
begin
showmessage('Перестановка столбцов невозможно, проверьте введеные данные!');
exit;
end;
if (l=-1) then
begin
showmessage('Перестановка столбцов невозможно, проверьте введеные данные!');
exit;
end;
if (k>m-1) then
begin
showmessage('Перестановка столбцов невозможно, проверьте введеные данные!');
exit;
end;
if (l>m-1) then
begin
showmessage('Перестановка столбцов невозможно, проверьте введеные данные!');
exit;
end;
for i:=0 to n-1 do
begin
tmp:=Y[i,k];
Y[i,k]:=Y[i,l];
Y[i,l]:=tmp;
end;
for t:=0 to n-1 do
  for j:=0 to m-1 do
    stringgrid1.Cells[j,t]:=FormatFloat('0.00',Y[t,j]);
end;



procedure TForm6.Button4Click(Sender: TObject);
var i,j:integer;
begin
n:=7;
m:=11;
setlength(C,n,m);
stringgrid1.RowCount:=n;
stringgrid1.ColCount:=m;
for i:=0 to n-1 do
  for j:=0 to m-1 do
    begin
    C[i,j]:=cos(14*j+1);
    stringgrid1.Cells[j,i]:=FormatFloat('0.00',C[i,j]);
end;
end;


procedure TForm6.Button5Click(Sender: TObject);
var i,j,t:integer;
tmp:real;
begin
m:=stringgrid1.ColCount;

k:=0;
l:=10;

for i:=0 to n-1 do
begin
tmp:=C[i,k];
C[i,k]:=C[i,l];
C[i,l]:=tmp;

end;
for t:=0 to n-1 do
  for j:=0 to m-1 do
    stringgrid1.Cells[j,t]:=FormatFloat('0.00',C[t,j]);
end;


procedure TForm6.Button6Click(Sender: TObject);
var i,j:integer;
begin
n:=12;
m:=9;
setlength(A,n,m);
stringgrid1.RowCount:=n;
stringgrid1.ColCount:=m;
for i:=0 to n-1 do
  for j:=0 to m-1 do
    begin
    A[i,j]:=sin(j)/cos(j)+exp(cos(i));;
    stringgrid1.Cells[j,i]:=FormatFloat('0.00',A[i,j]);
end;
end;

procedure TForm6.Button7Click(Sender: TObject);
var i,j,t:integer;
tmp:real;
begin
m:=stringgrid1.ColCount;

k:=0;
l:=8;

for i:=0 to n-1 do
begin
tmp:=A[i,k];
A[i,k]:=A[i,l];
A[i,l]:=tmp;

end;
for t:=0 to n-1 do
  for j:=0 to m-1 do
    stringgrid1.Cells[j,t]:=FormatFloat('0.00',A[t,j]);
end;

procedure TForm6.Button8Click(Sender: TObject);
var i,j:integer;
begin
n:=8;
m:=15;
setlength(B,n,m);
stringgrid1.RowCount:=n;
stringgrid1.ColCount:=m;
for i:=0 to n-1 do
  for j:=0 to m-1 do
    begin
    B[i,j]:=sin(3.2*j+4.2)+power(exp(1),tan(i));
    stringgrid1.Cells[j,i]:=FormatFloat('0.00',B[i,j]);
end;
end;

procedure TForm6.Button9Click(Sender: TObject);
var i,j,t:integer;
tmp:real;
begin
m:=stringgrid1.ColCount;

k:=2;
l:=4;

for i:=0 to n-1 do
begin
tmp:=B[i,k];
B[i,k]:=B[i,l];
B[i,l]:=tmp;

end;
for t:=0 to n-1 do
  for j:=0 to m-1 do
    stringgrid1.Cells[j,t]:=FormatFloat('0.00',B[t,j]);
end;

procedure TForm6.Button10Click(Sender: TObject);
var
i,j:integer;
begin
for i:=0 to n-1 do
  for j:=0 to m-1 do
stringgrid1.Cells[i,j]:=FormatFloat('  ',0);
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
end;

end.

У меня уже голова пухнет - даже не хочт стринггрид заполнять - пишет ошибка - то ему эдит не заполнил - хотя это не надо - то вообще непонятное что-то I/O какоето 8(

Последний раз редактировалось AndrYxo, 15.04.2008 в 20:11.
  #51  
Старый 15.04.2008, 20:21
MegaPiha MegaPiha вне форума
Активный
 
Регистрация: 24.03.2008
Сообщения: 227
Версия Delphi: Delphi 7
Репутация: 30
По умолчанию

Выложите сам исходник, лень форму конструировать.
  #52  
Старый 15.04.2008, 20:32
AndrYxo AndrYxo вне форума
Начинающий
 
Регистрация: 04.04.2008
Сообщения: 115
Репутация: 10
По умолчанию

http://rapidshare.com/files/10772890..._1.2_.rar.html

вот - там 5-я задача - точно такая же как и 4-я - только нужно ее блин в файл вывести... и это походу дела вообще 100% все...
  #53  
Старый 15.04.2008, 21:22
MegaPiha MegaPiha вне форума
Активный
 
Регистрация: 24.03.2008
Сообщения: 227
Версия Delphi: Delphi 7
Репутация: 30
По умолчанию

Цитата:
Сообщение от AndrYxo
http://rapidshare.com/files/10772890..._1.2_.rar.html

вот - там 5-я задача - точно такая же как и 4-я - только нужно ее блин в файл вывести... и это походу дела вообще 100% все...
Я отредактировал один участок для примера. Какие надо еще данные выводить можете аналогично делать.
Вложения
Тип файла: zip Готово (Версия 1.2).zip (81.6 Кбайт, 1 просмотров)
  #54  
Старый 15.04.2008, 21:27
AndrYxo AndrYxo вне форума
Начинающий
 
Регистрация: 04.04.2008
Сообщения: 115
Репутация: 10
По умолчанию

Цитата:
Сообщение от MegaPiha
Я отредактировал один участок для примера. Какие надо еще данные выводить можете аналогично делать.

Спасибо ошромне - думаю разберусь
  #55  
Старый 15.04.2008, 21:55
AndrYxo AndrYxo вне форума
Начинающий
 
Регистрация: 04.04.2008
Сообщения: 115
Репутация: 10
По умолчанию

Ну в принципе думаю последний организаионный момент - в принципе работает - но он получается вписывает только 1 значение в 1 документ, а нельзя ли как-то сделать что бы он все вприсывал в 1 документ - ато он у меня ошибку выдает когда пытаюсь за раз посчитать и вписать в 1 документ (уже не выдает... но все по старому - последнее значение пишет в документ) - или только в разные документы можно сделать что бы он вставлял?

Последний раз редактировалось AndrYxo, 15.04.2008 в 22:01.
  #56  
Старый 15.04.2008, 22:03
MegaPiha MegaPiha вне форума
Активный
 
Регистрация: 24.03.2008
Сообщения: 227
Версия Delphi: Delphi 7
Репутация: 30
По умолчанию

Цитата:
Сообщение от AndrYxo
Ну в принципе думаю последний организаионный момент - в принципе работает - но он получается вписывает только 1 значение в 1 документ, а нельзя ли как-то сделать что бы он все вприсывал в 1 документ - ато он у меня ошибку выдает когда пытаюсь за раз посчитать и вписать в 1 документ - или только в разные документы можно сделать что бы он вставлял?
Конечно можно. Надо переменную outfile сделать глобальной. И CloseFile(OutFile) использовать после занесения данных из последней таблицы. Для всех таблиц конечно надо сделать шапки.
  #57  
Старый 15.04.2008, 22:13
AndrYxo AndrYxo вне форума
Начинающий
 
Регистрация: 04.04.2008
Сообщения: 115
Репутация: 10
По умолчанию

Цитата:
Сообщение от MegaPiha
Конечно можно. Надо переменную outfile сделать глобальной. И CloseFile(OutFile) использовать после занесения данных из последней таблицы. Для всех таблиц конечно надо сделать шапки.
ну я рад что это можно сделать - а если не трудно - понимаю - достал уже капитально... но хочется уже распрощаться с прогой...
Цитата:
Надо переменную outfile сделать глобальной
Для всех таблиц конечно надо сделать шапки
можно плиз по подобнее об этом...
Цитата:
И CloseFile(OutFile) использовать после занесения данных из последней таблицы
Наврное не правильно я делаю - убираю со всех частей - оставляю 1 в конце - но прога не работает - работае - 1 значение дает - на 2-м уже ошибку пишет
  #58  
Старый 15.04.2008, 22:24
MegaPiha MegaPiha вне форума
Активный
 
Регистрация: 24.03.2008
Сообщения: 227
Версия Delphi: Delphi 7
Репутация: 30
По умолчанию

Глобальная переменная отличается от локальной тем что объявляется в начале модуля и может быть использована в любой процедуре модуля.
То бишь надо объявить переменную outFile в самом начале Unit6. Вот в этом месте:
Код:
var
  Form6: TForm6;
  Y:array of array of real;
  C:array of array of real;
  A:array of array of real;
  B:array of array of real;
  n:integer;
  m:integer;
  k:integer;
  l:integer;
  outfile:textFile;
В процедурах объявлять эту переменную не надо.

Далее команды
AssignFile(outfile, 'c:\outfile.txt');
Rewrite(outfile);
тоже вызываем один раз перед первой работой с файлом.

Теперь во всех процедурах командами Write занести в файл данные и после последнего занесения использовать команду CloseFile(outfile)
  #59  
Старый 15.04.2008, 22:41
AndrYxo AndrYxo вне форума
Начинающий
 
Регистрация: 04.04.2008
Сообщения: 115
Репутация: 10
По умолчанию

Цитата:
Сообщение от MegaPiha
Глобальная переменная отличается от локальной тем что объявляется в начале модуля и может быть использована в любой процедуре модуля.
То бишь надо объявить переменную outFile в самом начале Unit6. Вот в этом месте:
Код:
var
  Form6: TForm6;
  Y:array of array of real;
  C:array of array of real;
  A:array of array of real;
  B:array of array of real;
  n:integer;
  m:integer;
  k:integer;
  l:integer;
  outfile:textFile;
В процедурах объявлять эту переменную не надо.
С этим разобрался - спасибо...

Цитата:
Далее команды
AssignFile(outfile, 'c:\outfile.txt');
Rewrite(outfile);
тоже вызываем один раз перед первой работой с файлом.

Теперь во всех процедурах командами Write занести в файл данные и после последнего занесения использовать команду CloseFile(outfile)
А вот с этим нет... можно плиз разъяснить это для гипер чайника куда нужно всовывать
AssignFile(outfile, 'c:\outfile.txt');
Rewrite(outfile);
и если можно куда всунуть единственный раз CloseFile(outfile)...
очень прошу Ато у меня уже нет сил смотреть на эту прогу!!!
  #60  
Старый 16.04.2008, 10:03
MegaPiha MegaPiha вне форума
Активный
 
Регистрация: 24.03.2008
Сообщения: 227
Версия Delphi: Delphi 7
Репутация: 30
По умолчанию

AssignFile(outfile, 'c:\outfile.txt');
Rewrite(outfile);
можно попробовать в событие формы OnCreate (только если один раз использовать запись в файл) или OnActive (при каждом появлении формы)

А CloseFile(outfile) допустим на кнопке "назад".
Закрытая тема


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:55.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter