Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2018, 08:09   #1
skorp-r
 
Регистрация: 22.07.2018
Сообщений: 6
По умолчанию Нужна помощь в объединении модулей

Доброго времени суток, нужна помощь в объединении модулей. Есть программа (прикрепил) в ней собрал модули как должно все быть, но завис с объединением ее кодом...она должна открывать данные с txt или excel файла (в нем 6 столбцов с данными) и сразу строить волновые формы (как на скрине) по 6-ти станциям, а при открытии выпадающего меню, должно строить одну волновую форму, в новой форме, по названию станции. Кто может помочь? Сам самоучка и недавно начал учиться программировать в Delphi.
Изображения
Тип файла: jpg волновые формы.jpg (115.8 Кб, 114 просмотров)
Вложения
Тип файла: rar mtd с фильтром.rar (251.2 Кб, 10 просмотров)
Тип файла: rar 17.04.2018 (1 число).rar (704.8 Кб, 9 просмотров)
Тип файла: rar 17.04.2018.rar (851.8 Кб, 9 просмотров)
skorp-r вне форума Ответить с цитированием
Старый 24.10.2018, 09:13   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

тебе надо??? наличие 6 идентичных "пустых"(без кода) и ТАКАЯ же "главная"
для каждого файла открывать "свою" форму с chart ?
и это "одинаковые" формы (только каждый раз "свои" данные)

Кнопка на главную ( та что с кодом) "создать НОВУЮ форму"
OnClick
Цитата:
procedure Tform1....Click(sender: TObject);
begin
f:=TForm1.Create(application);
f.Show;
f.... //если НАДО что то настроить
end; // ВСЕ у тебя ЕСТЬ две и более идентичных формы
#динамическое создание форм

ДА!!! НИГДЕ в коде НЕ ДОЛЖНО быть упоминания Form1

Цитата:
procedure TForm1.JNX164001Click(Sender: TObject);
begin
Form3.Show;
end;

procedure TForm1.GBZ195801Click(Sender: TObject);
begin
Form4.Show;
end;

procedure TForm1.ICV202701Click(Sender: TObject);
begin
Form5.Show;
end;

procedure TForm1.HWU217501Click(Sender: TObject);
begin
Form6.Show;
end;
все это меняется на предложенное ВЫШЕ
Код:
  f.caption:=(sender as TButton).Caption; //если НАДО что то настроить
к примеру

после этого про unit2..unit7 можно ЗАБЫТЬ.

-- да это хорошо НО у каждой 2..7 форм будут свои нюансы, хотя большая часть и и одинакова
-- смотри Frame (http://www.programmersforum.ru/showt...ighlight=frame )
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 24.10.2018 в 09:26.
evg_m вне форума Ответить с цитированием
Старый 24.10.2018, 10:06   #3
skorp-r
 
Регистрация: 22.07.2018
Сообщений: 6
По умолчанию

на главной должно просто выводиться все 6 волновых форм сразу, а по нажатию в выпадающем окне, должна открываться определенная станция со своими волновыми формами.
skorp-r вне форума Ответить с цитированием
Старый 24.10.2018, 11:09   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
на главной должно просто выводиться все 6 волновых форм сразу
6 волновых форм волновой Frame повторенный столько сколько надо
если конечно же волновая форма это форма в понятиях Delphi а не тот самый chatrt c 6 сериями
P.S. можно конечно же путем копания сделать form на form но быстро и хорошо форма + frame

Цитата:
должна открываться определенная станция со своими волновыми формами.
должна отрываться новая станция (новая форма Delphi программы) со своими волновыми формами(своими Chart). ???
-- смотри предыдущий пост
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 24.10.2018, 19:19   #5
skorp-r
 
Регистрация: 22.07.2018
Сообщений: 6
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
6 волновых форм волновой Frame повторенный столько сколько надо
если конечно же волновая форма это форма в понятиях Delphi а не тот самый chatrt c 6 сериями
P.S. можно конечно же путем копания сделать form на form но быстро и хорошо форма + frame


должна отрываться новая станция (новая форма Delphi программы) со своими волновыми формами(своими Chart). ???
-- смотри предыдущий пост
мне посоветовали использовать TTabControl, сейчас пытаюсь сделать так чтоб с открытых в memo данных строило график
skorp-r вне форума Ответить с цитированием
Старый 24.10.2018, 19:23   #6
skorp-r
 
Регистрация: 22.07.2018
Сообщений: 6
По умолчанию

Вот код:
procedure TForm1.Button1Click(Sender: TObject);
var
x,y: double;
n,nx,tt: string;
i: integer;
begin
for i:=1 to Memo1.Lines.Count-1 do
tt:=Memo1.Lines[i];
nx:=copy(tt,0,9);
n:=copy(tt,10,6);
n:= StringReplace(n, '.', ':', [rfReplaceAll]);
nx:= StringReplace(nx, '.', ',', [rfReplaceAll]);
y:=strtofloat(n);
x:=strtofloat(nx);
Series1.AddXY(x,y);
end;

это используя 1 столбик, а надо все 6 по оси Y, а время по X, сейчас бьет ошибку и я думаю проблема в отображении времени, подскажите пожалуйста где ошибка?
Вложения
Тип файла: rar 18.04.2018 txt данные.rar (324.5 Кб, 8 просмотров)
skorp-r вне форума Ответить с цитированием
Старый 25.10.2018, 09:12   #7
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

nx:=copy(tt,01,9);
// нумерация в строке Pascal(Delphi) начинается с 1
если это время то логичнее было бы
Код:
var
t: TTime; //TDateTime;
...
t:=StrTotime(nx); //StrToDateTime
к сожалению НЕ знаю как с таким управится chart (никогда не работал) хотя почему бы и нет в основе TDateTime все тот же real

P.S. 0:00:06 ==> 0,00,006 это НИКОИМ образом НЕ число (две десятичных запятых)
так что логично что StrToFloat
Цитата:
сейчас бьет ошибку и я думаю проблема в отображении времени
смотри выше
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 25.10.2018 в 09:14.
evg_m вне форума Ответить с цитированием
Старый 25.10.2018, 09:31   #8
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
Код:
n:=copy(tt,10,6);
не все так радужно c "прямой" "нарезкой" по copy
позиции БУДУТ отличаться
22.JPG

Код:
k1:=1;
k2:=posEx(#9, tt, k1); st:=copy(tt, k1, k2-k1); k1:=k2+1;  //это t  P.S. k2-k1 +/-1 ?!
k2:=posEx(#9, tt, k1); sn1:=trim(copy(tt, k1, k2-k1)); k1:=k2+1;  //это n1
k2:=posEx(#9, tt, k1); sn2:=trim(copy(tt, k1, k2-k1)); k1:=k2+1;  //это n2
...
k2:=posEx(#9, tt, k1); sn5:=trim(copy(tt, k1, k2-k1)); k1:=k2+1;  //это n5
k2:=posEx(#9, tt, k1); s:=trim(copy(tt, k1, length(tt)); k1:=k2+1;  //это последний n6
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 25.10.2018 в 09:33.
evg_m вне форума Ответить с цитированием
Старый 25.10.2018, 09:45   #9
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
мне посоветовали использовать TTabControl,
посоветовать-то можно много чего, еще бы понять(догадаться) чего хочется(требуется).
Цитата:
тебе надо???
X - Y - Z
Цитата:
сейчас пытаюсь сделать так чтоб с открытых в memo данных строило график
как одинаковый(один и тот же) код использовать на разных формах
Memo +график => Frame + туда же и КОД его строительства

потом этот раз написанный Frame можно
МНОГО МНОГО раз использовать на разных формах в том числе и с TabControl и с PageControl да с чем угодно и как угодно как обычный visual компонент
и ТОЛЬКО ЗАДАВАЯ файл для загрузки(в мемо) и его же отображения(в chart)
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 25.10.2018 в 09:55.
evg_m вне форума Ответить с цитированием
Старый 27.10.2018, 12:51   #10
skorp-r
 
Регистрация: 22.07.2018
Сообщений: 6
По умолчанию

кто может написать эту прогу за скромную плату? нужно на понедельник...горю...
skorp-r вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
объединении столбцов. kandeman Microsoft Office Excel 8 03.11.2010 12:21
Очень нужна помощь c матрицами, макросами в Excel. Заранее благодарен(поверьте, очень-очень нужна помощь) Farridjan Помощь студентам 1 03.07.2009 12:24
Очень нужна помощь с написанием программы... срочно(буду благодарен за помощь) 5Paladin5 Помощь студентам 3 02.07.2009 09:12
Как сослаться на второй элемент в объединении NeiL Общие вопросы C/C++ 1 01.06.2008 16:04
Очень нужна помощь в объединении на одну страницу asale Microsoft Office Excel 6 12.02.2008 23:36