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

Delphi Sources



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

Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра
  #106  
Старый 19.04.2008, 12:49
AndrYxo AndrYxo вне форума
Начинающий
 
Регистрация: 04.04.2008
Сообщения: 115
Репутация: 10
По умолчанию

MegaPiha ну громаднейшее Вам человеческое спасибо... последний вопрос остался - как сделать что бы сохраняло сразу с 6-ти стрингргридов? И открывало потом в те же?

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

Цитата:
Сообщение от AndrYxo
MegaPiha ну громаднейшее Вам человеческое спасибо... последний вопрос остался - как сделать что бы сохраняло сразу с 6-ти стрингргридов? И открывало потом в те же?
В один файл, что ли? Надо подумать...
  #108  
Старый 19.04.2008, 13:05
AndrYxo AndrYxo вне форума
Начинающий
 
Регистрация: 04.04.2008
Сообщения: 115
Репутация: 10
По умолчанию

Цитата:
Сообщение от MegaPiha
В один файл, что ли? Надо подумать...
Пожалуйста... очень прошу... ато я сам это в жизни не сделаю
  #109  
Старый 19.04.2008, 13:16
MegaPiha MegaPiha вне форума
Активный
 
Регистрация: 24.03.2008
Сообщения: 227
Версия Delphi: Delphi 7
Репутация: 30
По умолчанию

Цитата:
Сообщение от AndrYxo
Пожалуйста... очень прошу... ато я сам это в жизни не сделаю
Количество строк и столбцов у гридов совпадает?
  #110  
Старый 19.04.2008, 13:17
AndrYxo AndrYxo вне форума
Начинающий
 
Регистрация: 04.04.2008
Сообщения: 115
Репутация: 10
По умолчанию

Цитата:
Сообщение от MegaPiha
Количество строк и столбцов у гридов совпадает?
Не, не совпадает!
  #111  
Старый 19.04.2008, 13:19
MegaPiha MegaPiha вне форума
Активный
 
Регистрация: 24.03.2008
Сообщения: 227
Версия Delphi: Delphi 7
Репутация: 30
По умолчанию

Цитата:
Сообщение от AndrYxo
Не, не совпадает!
Плохо. Дольше думать придется..
  #112  
Старый 19.04.2008, 13:24
AndrYxo AndrYxo вне форума
Начинающий
 
Регистрация: 04.04.2008
Сообщения: 115
Репутация: 10
По умолчанию

Цитата:
Сообщение от MegaPiha
Плохо. Дольше думать придется..
Знаю, что плохо... спасибо)
  #113  
Старый 19.04.2008, 15:13
MegaPiha MegaPiha вне форума
Активный
 
Регистрация: 24.03.2008
Сообщения: 227
Версия Delphi: Delphi 7
Репутация: 30
По умолчанию

Цитата:
Сообщение от AndrYxo
Знаю, что плохо... спасибо)


Сохранение в файл 3-х разных таблиц.
Код:
procedure TForm1.BitBtn2Click(Sender: TObject);
var
   s :TStringlist;
   j:Integer;
   Str:String;
   posy, posx, i : Integer;

Begin
    with TSaveDialog.Create(Owner) do
    begin
       DefaultExt:='.txt';
       Filter:= 'файлы проекта|*.txt';
       if not Execute then exit;
       s:=TStringList.Create;
       s.Clear;
       for i:=0 to StringGrid1.RowCount-1 do
       begin
          Str := '' ;
          for j:=0 to StringGrid1.ColCount-1 do
              str:=str+StringGrid1.Cells[j, i]+' ';
          s.Add(Str);
       end;
       s.Add('T2');
       for i:=0 to StringGrid2.RowCount-1 do
       begin
          Str := '' ;
          for j:=0 to StringGrid2.ColCount-1 do
              str:=str+StringGrid2.Cells[j, i]+' ';
          s.Add(Str);
       end;
       s.Add('T3');
       for i:=0 to StringGrid3.RowCount-1 do
       begin
          Str := '' ;
          for j:=0 to StringGrid3.ColCount-1 do
              str:=str+StringGrid3.Cells[j, i]+' ';
          s.Add(Str);
       end;

       S.SaveToFile(FileName);
end;
    s.Free;
end;


Чтение из файла 3-х таблиц.
Код:
procedure TForm1.BitBtn3Click(Sender: TObject);
var
   s :TStringlist;
   i,j,yd:Integer;
   Str:String;
   posy, posx, py: Integer;
   t1,t2,t3:boolean;


Begin
    t1:=true;
    t2:=false;
    t3:=false;
    with TOpenDialog.Create(Owner) do
    begin
    py:=0;
       DefaultExt:='.txt';
       Filter:= 'файлы проекта|*.txt';
       if not Execute then exit;
       s:=TStringList.Create;
       S.LoadFromFile(FileName);
       For posy := 1 to S.Count do
       begin
           posx := 0;
           Str := '';
           For i := 1 to Length(S.Strings[posy-1]) do
           begin
              if S.Strings[posy-1][i] <> ' ' then
              begin
                  Str := Str + S.Strings[posy-1][i];
                  if Str = 'T2' then
                  begin
                     t1:=false;
                     t2:=true;
                     py:=posy;
                  end;
                  if Str = 'T3' then
                  begin
                     t1:=false;
                     t2:=false;
                     t3:=true;
                     py:=posy;
                  end;
              end
              else
              begin
                 if t1= true then StringGrid4.Cells[posx, posy-1] := Str;
                 if t2 = true then StringGrid5.Cells[posx, posy-1-py] := Str;
                 if t3 = true then StringGrid6.Cells[posx, posy-1-py] := Str;
                 Str := '';
                 inc(posx);
              end;
           end;
       end;
    end;
    S.Free;
    end;
У самого уже бошка кипит
  #114  
Старый 19.04.2008, 15:30
AndrYxo AndrYxo вне форума
Начинающий
 
Регистрация: 04.04.2008
Сообщения: 115
Репутация: 10
По умолчанию

Цитата:
Сообщение от MegaPiha
У самого уже бошка кипит

Огромное спасибо - наверное что бы не утруждать Вас больше сделаю на 2 кнопки сохранение и на 2 кнопки восстановление... огромнейшее спасибо
  #115  
Старый 19.04.2008, 15:33
MegaPiha MegaPiha вне форума
Активный
 
Регистрация: 24.03.2008
Сообщения: 227
Версия Delphi: Delphi 7
Репутация: 30
По умолчанию

Цитата:
Сообщение от AndrYxo
Огромное спасибо - наверное что бы не утруждать Вас больше сделаю на 2 кнопки сохранение и на 2 кнопки восстановление... огромнейшее спасибо
Огромнейшее пожалуйста.
Так, ведь по аналогии можно хоть 100 таблиц сохнарять и считывать по 1-й кнопке.
  #116  
Старый 19.04.2008, 16:10
AndrYxo AndrYxo вне форума
Начинающий
 
Регистрация: 04.04.2008
Сообщения: 115
Репутация: 10
По умолчанию

Цитата:
Сообщение от MegaPiha
Огромнейшее пожалуйста.
Так, ведь по аналогии можно хоть 100 таблиц сохнарять и считывать по 1-й кнопке.
Это понятно - но мне радуплять ту технологию - очень долго... покажу так прогу - если не устроит препода - тогда буду внедряться в технологию... думаю за недельку освою Еще раз большое спасибо)
  #117  
Старый 24.04.2008, 14:11
AndrYxo AndrYxo вне форума
Начинающий
 
Регистрация: 04.04.2008
Сообщения: 115
Репутация: 10
По умолчанию

Здравствуйте, это снова я - чайник в области программирования! Обращаюсь к вам с просьбой обьяснить мне некоторые вещи... Мне надо составить пояснительную записку к курсовой работе, а я уже 2-й день не могу понять - что от меня нужно - пожалуйста, вот содержание методички по курсовой работе (только то, что я не могу понять)

Код:
4.6. Основная часть
Основная часть пояснительной записки содержит выполненные задания. Количество подразделов основной части соответствует количеству заданий.
Математическая постановка задачи – это точное описание исходных данных, условий задачи и целей ее решения. В полученной на этапе формали-зации математической модели исходной задачи каждое из требований записы-вается в виде математических уравнений. Кроме обязательных требований можно сформулировать дополнительные. 
Информационная модель - модель, в которой исследуемый объект пред-ставлен в виде процессов ввода, обработки и вывода информации, а параметры модели представлены в числовой, текстовой, графической или другой форме. При составлении информационной модели: 
1)	определяется состав исходных, промежуточных и выходных данных;
2)	выбираются устройства-источники и устройства-приемники данных;
3)	определяются форматы представления данных – способ представления информации, определяющий правила размещения данных на носителе информации или устройстве (целое, действительное, символьное, стро-ковое, логическое и др).
Для полученной модели выбирают уже известные или же разрабатываются новые оригинальные численные методы решения задачи. Возможно, что для полученной модели известны несколько методов решения. Тогда необходимо выбрать лучший. 
Программная реализация модели на компьютере включает описание:
1)	разработанных форм в графическом и текстовом виде;
2)	использованных компонентов;
3)	текстов программ (могут быть вынесены в приложение).
В разделе «Результаты расчетов на компьютере» приводится кон-трольный пример: реальные входные, промежуточные и выходные данные.
4.7. Выводы
В выводах формулируются итоги по результатам решения исходных задач. 

Если не трудно обьясните мне пожалуйста на примере вот этой задачи - остальные я по такому же принципу сделаю, ато завтра уже отчет нужен - а я в него до сих пор не въехал!

Условие проги: Наити произведение положительных элементов массива A[i], удовлетворяющих условию c<=a[i]<=d
Код проги:
Код:
unit Unit2;

interface

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

type
  TForm2 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    StringGrid1: TStringGrid;
    Label1: TLabel;
    Label2: TLabel;
    Button2: TButton;
    Button3: TButton;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Edit3: TEdit;
    Edit4: TEdit;
    Label6: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;
  n:integer;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
var
a:array [0..19] of real;
P:real;
i:integer;
c,d:real;
  begin
n:=strtoint(edit3.Text);
stringgrid1.ColCount:=n;
  randomize;
  if n<=20 then
  for i:=0 to n-1 do
    begin
    a[i]:=random(50--50+1)-50;
    StringGrid1.Cells[i,0]:=FormatFloat('0.00',a[i]);
end
    else ShowMessage('Количество элементов массива не удовлетворяет условию задачи');
  P:=1;
  c:=StrtoInt(Edit1.Text);
  d:=StrtoInt(Edit2.Text);
   if n<=20 then
  for i:=0 to n-1 do
  if (a[i]>0) and (a[i]>=c) and (a[i]<=d) then
  P:=P*a[i];
  Edit4.Text:= FormatFloat('0.00',P);
 end;
procedure TForm2.Button2Click(Sender: TObject);
var
i:integer;
begin
for i:=0 to n-1 do
StringGrid1.Cells[i,0]:=FormatFloat('  ',0);
 Edit3.Clear;
 Edit4.Clear;
Edit1.Clear;
Edit2.Clear;
end;

procedure TForm2.Button3Click(Sender: TObject);
begin
Form1.Show;
Form2.Close;
end;

end.

Заранее очень благодарен, ато я уже отчаялся
  #118  
Старый 24.04.2008, 18:42
Аватар для Professor Farnsworth
Professor Farnsworth Professor Farnsworth вне форума
Прохожий
 
Регистрация: 19.04.2008
Сообщения: 42
Репутация: 10
По умолчанию

Не отчаивайся! Как говорят у нас на работе - какой вопрос такой и ответ.
Я примерно понял так.


Математическая постановка задачи.
Дан массив A состоящий из n элементов, значения которых лежат в диапазоне от -50 до 50, где n принимает значения от 0 до 19. Необходимо найти произведение элементов массива, удовлетворяющих условию с<=А[i]<=d, где c и d числа лежащие в диапазоне -50 до 50 и задаваемые пользователем.

Информационная модель.
1. Состав исходных данных:
- Массив A[0..n] –элементов, принимающих значения от -50 до 50.
Переменные:
- с,d – границы диапазона, являющиеся условием для поиска элементов массива.
- n – количество элементов массива от 0 до 19.
Состав промежуточных данных.
Промежуточных данных нет.
Состав выходных данных.
P – тип real – произведение элементов массива, удовлетворяющих условию с<=А[i]<=d.

2. Устройства-источники данных:
- Edit1 – вводится c.
- Edit2 – вводится d.
- Edit3 – вводится количество элементов массива (n).
Устройства-приемники данных.
- Edit4 – выводится результирующее произведение P.
- StringGrid1 – выводится элементы массива A[n].

3. Форматы представления данных
n – целое.
A[0..n], c,d, P – действительные.

Программная реализация модели.
Для решения данной задачи были использованы следующие компоненты:
Формы типа TForm
- Form2 - главная форма, включающая кнопки типа TButton
Button1 – основная реализация программы.
Button2 – очистка компонентов формы.
Button3 – выход.
  #119  
Старый 24.04.2008, 19:15
AndrYxo AndrYxo вне форума
Начинающий
 
Регистрация: 04.04.2008
Сообщения: 115
Репутация: 10
По умолчанию

Professor Farnsworth огромное спасибо! Теперь я хоть знаю, что делать!!! Примного благодарен! 8)
  #120  
Старый 01.05.2008, 15:26
AndrYxo AndrYxo вне форума
Начинающий
 
Регистрация: 04.04.2008
Сообщения: 115
Репутация: 10
По умолчанию

Здрасте, не подскажите, как при помощи компонента ApplicationEvents сделать, что бы кнопка Button была неакивна пока не заполнятся 3 Edit'a, если это вообще можно сделать конечно.. спасибо)
Закрытая тема


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter