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

 



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #31  
Старый 03.07.2019, 00:00
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,472
Версия Delphi: 7, XE3, 10.2
Репутация: 49088
По умолчанию

Бли-и-и-и-ин...
Ну для простоты примера написал цикл...
Что мешает передавать по элементу???
Код:
Sources[1] := Dmin;
Sources[2] := lnas;
...

PS. Да, ягляжу, что у тебя числа не целые. Соответсвенно, надо поменять типа на Double...

PPS. Кстати, через RTTI можно попробовать и через цикл передать... что-то типа
Код:
For I := Low(Sources) To High(Sources) Do
  Sources[i] := StrToFloat((FindComponent('Edit'+IntToStr(I)) As TEdit).Text);
Синтакс не проверял...
Ответить с цитированием
  #32  
Старый 03.07.2019, 23:03
Maks19 Maks19 вне форума
Новичок
 
Регистрация: 19.06.2019
Сообщения: 80
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Записалось в файл в зашифрованном виде:
 Project1B`еРyй&1тТMb33333333бz® \ЏВх\ЏВх®GбffffX9ґ
Ответить с цитированием
  #33  
Старый 03.07.2019, 23:38
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,472
Версия Delphi: 7, XE3, 10.2
Репутация: 49088
По умолчанию

Не в зашифрованном, а в бинарном.
Возьми второй код, считатй файл в новый экземпляр и посмотри полученные значения из кода (ну или просто напиши код восстановления данных в контролах).
Ответить с цитированием
  #34  
Старый 04.07.2019, 08:02
Maks19 Maks19 вне форума
Новичок
 
Регистрация: 19.06.2019
Сообщения: 80
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

По нажатию button2 ошибка "stream read error"
Ответить с цитированием
  #35  
Старый 04.07.2019, 08:09
Maks19 Maks19 вне форума
Новичок
 
Регистрация: 19.06.2019
Сообщения: 80
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

По нажатию button2 ошибка "stream read error"
Ответить с цитированием
  #36  
Старый 04.07.2019, 09:40
Maks19 Maks19 вне форума
Новичок
 
Регистрация: 19.06.2019
Сообщения: 80
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Maks19
По нажатию button2 ошибка "stream read error"
Я ошибку сделал в unit2
Ответить с цитированием
  #37  
Старый 04.07.2019, 09:55
Maks19 Maks19 вне форума
Новичок
 
Регистрация: 19.06.2019
Сообщения: 80
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Не в зашифрованном, а в бинарном.
Возьми второй код, считатй файл в новый экземпляр и посмотри полученные значения из кода (ну или просто напиши код восстановления данных в контролах).
Не подскажите. Какой второй код? Какой второй файл и новый экземпляр?
Ответить с цитированием
  #38  
Старый 04.07.2019, 16:38
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,472
Версия Delphi: 7, XE3, 10.2
Репутация: 49088
По умолчанию

Втророй код, это тот пример, где идет загрузка данных, по button2.
Шибку прввь, я код проверял, он точно рабочий.
Ответить с цитированием
  #39  
Старый 04.07.2019, 17:09
Maks19 Maks19 вне форума
Новичок
 
Регистрация: 19.06.2019
Сообщения: 80
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Также в бинарном виде.
Ответить с цитированием
  #40  
Старый 04.07.2019, 17:44
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,472
Версия Delphi: 7, XE3, 10.2
Репутация: 49088
По умолчанию

ну естественно. Если внимательно посмотришь на код, то увидишь, что он зеркальный. Что пишется, то и читается.
Ответить с цитированием
  #41  
Старый 04.07.2019, 18:31
Maks19 Maks19 вне форума
Новичок
 
Регистрация: 19.06.2019
Сообщения: 80
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Код:
procedure TForm1.Button2Click(Sender: TObject);
begin
  With TModel.Load('c:\work\projects\prj1.dat') Do
    begin
      ShowMessage(PrjName);
      Free;
    end;
end;
этот имеется в виду? А как увидеть в читаемом виде?
Ответить с цитированием
  #42  
Старый 04.07.2019, 18:47
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,472
Версия Delphi: 7, XE3, 10.2
Репутация: 49088
По умолчанию

Да, этот.
Ну тут показывается имя проекта. Что мешает вывести другие поля?
Например:
Код:
s := '';
for i := Low(Sources) to high(Sources) Do
  s := s + ' ' + FloatToStr(Sources[i]);
showmessage(s);
Ответить с цитированием
  #43  
Старый 05.07.2019, 15:01
Maks19 Maks19 вне форума
Новичок
 
Регистрация: 19.06.2019
Сообщения: 80
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Я хотел чтобы через combobox вводились проекты. Т.е меняем в combobox имя ,меняется исх. данные в edit. Так как сделать?
Ответить с цитированием
  #44  
Старый 05.07.2019, 19:06
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,472
Версия Delphi: 7, XE3, 10.2
Репутация: 49088
По умолчанию

Ну, например, сохранять файлы в подкаталог программы (не давая пользователю вводить имя файла). При старте программы просто читаешь все файлы в список и заполняешь ComboBox именами проектов.
Код:
type
  TForm1=class(TForm)
  ...
  private
    ProbjectList : TObjectList;
  ...
  end;

procedure Form1.FormCreate(Sender : TObject);
var
  dataPath : String;
  F : TSearchRec;
  i : Integer;
  M : TModel;
begin
  ComboBox1.Items.Clear;
  ProjectList := TObjectList.Create(True);
  dataPath := IncludeTrailingPathDelimiterIncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)) + 'Data');
  i := FindFirst(dataPath + '*.dat',faAnyFile,F);
  While i = 0 Do
    Begin
       Try
          M := TModel.Load(dataPath + F.Name);
          ProjectList.Add(M);
          ComboBox1.Items.AddObject(M.PrjName,M);
       Except
       End;
      i := FindNext(F);
    End;
  FindClose(F);
end;

procedure Form1.FormDestroy(Sender : TObject);
begin
  ProjectList.Free;
end;

Последний раз редактировалось lmikle, 05.07.2019 в 20:46.
Ответить с цитированием
  #45  
Старый 07.07.2019, 01:21
Maks19 Maks19 вне форума
Новичок
 
Регистрация: 19.06.2019
Сообщения: 80
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Цитата:
не давая пользователю вводить имя файла
Я хотел чтобы через combobox как раз вводились проекты пользователем.
Ответить с цитированием
Ответ



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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources", 2004-2019

ВКонтакте   Facebook   Twitter