![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Массив из Мемо [D7, XP]
inkvizitor © (2006-11-10 11:10:00)Пожалуйста помогите !
1) Как из Мемо(в нем уже есть числа в один столбец) сделать массив чисел путем процедуры БаттонКлик(результат должнен выводится тоже в мемо, но на др. форме).Через IntToStr() чёто не получается или я что-то не так делал;
2) Можно ли через компоненту OpenDialog загрузить данные в F1Book(не знаю точных свойств F1Book).
3) как компоненту Chart "заставить" выводить график используя данный Мемо(см. выше)???
Заранее благодарен.
Elen (2006-11-23 12:15:00) [41]E[[[[ Щас насоветую....
> Как из Мемо(в нем уже есть числа в один столбец) сделать
> массив чисел
Зачем загаживать мемо - что просто массивом не обойдешся? Массив тоже можно в файл сохранить
> как компоненту Chart "заставить" выводить график
В чарте есть chart1.series[1].addx(<тут впиши данные по х>).
inkvizitor (2006-11-23 12:03:00) [42]
> Anatoly Podgoretsky © (22.11.06 11:39) [50]
Спасибо за совет.
> после прочтения упалпоцтол и рыдал :)))))))))))))))
Если после каждого быдешь рыдать взорвешся.
Люди, Если хотите просто посмеяться не пишите ничего.не тратьте время.
Джо (2006-11-23 04:25:00) [43]Определенно, вот этот студент желает научиться. Обычно уходят обиженными, да и с ЧЮ напряженка :)
2 vasIzmax ©
Тут тебе дело советуют — займись языком, потому что вслепую тыкаться сложно и непродуктивно.
vasIzmax (2006-11-22 20:11:00) [44]
> после прочтения упалпоцтол и рыдал :)))))))))))))))
100-пудово. Но грех над учащимся смеяться. А вообще весело вы тут рулите! :)
click (2006-11-22 18:04:00) [45]после прочтения упалпоцтол и рыдал :)))))))))))))))
Anatoly Podgoretsky (2006-11-22 11:39:00) [46]> inkvizitor (22.11.2006 11:32:49) [49]
> ???Form2.Memo1.Lines.Add(Floattostr(abs(ro)));???
Form2.Memo1.Lines.Text := Floattostr(abs(ro))
inkvizitor (2006-11-22 11:32:00) [47]inkvizitor
> > Percent (13.11.06 10:24) [46]
Вообщем считаю данные из двух мемо и делаю вычисления потом
результат вывожу на др. мемо на др. форме.
ПРОблема: результат выводится на вторую строку?(нужно на первую)
:
procedure TPagesDlg.OKBtnClick(Sender: TObject);
var i,j,n:integer;
ro,cov,sigmaX,sigmaY,A,Xsr,Ysr:real;
X,Y:array of real;
begin
n:= memo1.Lines.Count;
PagesDlg.Visible:=False;
Form2.visible:=True; { переключение между формами}
OpenDialog1.Filter := '*.txt|*.txt'; {открытие файла в мемо1}
OpenDialog2.Filter := '*.txt|*.txt'; {открытие файла в мемо2}
SetLength(X,10000);
Xsr:=0;
for i:=0 to memo1.Lines.Count-1 do begin
X[i]:=StrToFloat(Memo1.Lines[i]); {преобразование в массив мемо1}
Xsr:=X[i]+Xsr;
end;
Xsr:=Xsr/n;
SetLength(Y,10000);
Ysr:=0;
for j:=0 to memo2.Lines.Count-1 do
begin
Y[j]:=StrToFloat(Memo2.Lines[j]); {преобразование в массив мемо2}
Ysr:=Y[j]+Ysr;
end;
Ysr:=Ysr/n;
for i:=0 to memo1.Lines.Count-1 do sigmaX:=sqr(X[i]-Xsr);
sigmaX:=sqrt((1/n)*sigmaX);
for j:=0 to memo2.Lines.Count-1 do sigmaY:=sqr(Y[i]-Ysr);
sigmaY:=sqrt((1/n)*sigmaY);
for i:=0 to memo1.Lines.Count-1 do
for j:=0 to memo2.Lines.Count-1 do
A:=(X[i]-Xsr)*(Y[i]-Ysr);
cov:=(1/n)*A;
ro:=cov/(sigmaX*sigmaY);
???Form2.Memo1.Lines.Add(Floattostr(abs(ro)));???
end;
Плохиш (2006-11-15 11:30:00) [48]
> У меня два мемо и в каждом может быть разное количество
> строк.
Рыдал...
inkvizitor (2006-11-15 11:21:00) [49]
> Percent (13.11.06 10:24) [46]
Спасибо нашел почитал.
> индексная переменная j - лишняя; во втором цикле можно было
> бы обойтись той же i
У меня два мемо и в каждом может быть разное количество строк.
Percent (2006-11-13 10:24:00) [50]Как в Chart-е выводить графики из мемо?
Не знаю. Никогда с TChart не работал. И разбираться ради тебя не хочу. Потому что ты не хочешь разбираться с программированием. Столько времени прошло, а ты не удосужился найти литературу. Даже по динамическим массивам, которые описаны практически в любой книге по программированию в Delphi. Ты напрячься не хочешь - зачем мне напрягаться?
Циклы, которые ты привел, почти правильные. Только считывать надо с нулевойстроки, а не с первой, как у тебя. И индексная переменная j - лишняя; во втором цикле можно было бы обойтись той же i. И еще один момент: если у тебя в мемо неправильно введены числа, хотя бы с одной синтаксической ошибкой, то считывание в массив прервется на этой ошибке, причем, в какой строке это произойдет - из твоей программы никто не узнает. Сделай, чтобы программа сообщала пользователю хотя бы номер строки.
Ну и про динамические массивы почитай ( http://delphikingdom.com/asp/viewitem.asp?catalogid=1184 раздел 2.17, хотя, рекомендую прочитать все), и сделай, наконец-то, свои массивы динамическими. Можно и по-другому поступить, но динамические массивы подойдут тебе лучше.
И еще. Сделай преобразование "назад", то есть, напиши код, чтобы данные из массивов заносились в третий и четвертый мемо.
novill (2006-11-13 10:16:00) [51]> [44] inkvizitor © (13.11.06 08:54)
> for i:=1 to memo1.Lines.Count-1 do
Ты в курсе что значение первых строчек в Мемо не будет попадать в массив?
> не могу найти лит-ру про динам. массивы.
Загружешь Delphi, жмешь F1, выбираешь закладку "Предметный указатель", набираешь dynamic arrays, нажимаешь Enter два раза.
В открывшейся странице читаешь примеры :) Если можешь понять английский текст, читаешь его. Этого достаточно.
inkvizitor (2006-11-13 08:54:00) [52]Percent, А теперь если не трудно второй вопрос:
Как в Chart-е выводить графики из мемо?
var i,j:integer;
X:array[1..16000] of real;
Y:array[1..16000] of real;
begin
for i:=1 to memo1.Lines.Count-1 do
X[i]:=StrToFloat(Memo1.Lines[i]); {преобразование в массив мемо1}
for j:=1 to memo2.Lines.Count-1 do
Y[j]:=StrToFloat(Memo2.Lines[j]); {преобразование в массив мемо2}
end;
наверно опять чёто не то?
не могу найти лит-ру про динам. массивы.
Ketmar (2006-11-10 18:16:00) [53]>[37] inkvizitor(c) 10-Nov-2006, 14:27
>Все так посмеялись, а советов рельных мало...
реальный совет тебе один: иди учить язык, который используешь.
Percent (2006-11-10 16:51:00) [54]потому что много данных надо ввводить
Читай про динамические массивы.
например исследование солнца - дипломнаяяяя
Так ты студент?
Кстати, кода ты так и не привел.
А много кушать - вредно, замедляет умственную деятельность.
Плохиш (2006-11-10 16:49:00) [55]
> Ну не надо так унижать все когдато начинали, правда?
Не правда. Некоторые с книжек начинали, хотя сейчас это видно не в моде :-(
inkvizitor (2006-11-10 16:45:00) [56]
> Ты там программу пишешь, или обедаешь?
одно другому не мешает.
> > for i:=1 to 16000 do
> > for j:=1 to 16000 do begin
> > A[i]:=StrToFloat(Memo1.Lines[i]);
> > B[i]:=StrToFloat(Memo2.Lines[j]);
> > end;
Массивы почему большие, потому что много данных надо ввводить (например исследование солнца - дипломнаяяяя)
> Ну ты спросил 8-O Откуда оно может знать?
Ну не надо так унижать все когдато начинали, правда?
koha (2006-11-10 15:20:00) [57]> Percent (10.11.06 11:50) [14]
> Или у меня паранойя?
Параноя, батенька, это, по определению, когда болеют "новящими идеями" - у вас голюцинации. :-))
Percent (2006-11-10 14:34:00) [58]Ты вначале с циклами разберись. Напиши, как ты будешь переводить данные из мемо в массив. Сюда напиши код. А потом уже про все остальное разговаривать будем. А то берешься за глобальные вопросы, не разбираясь в элементарных конструкциях и принципах.
Все так посмеялись, а советов рельных мало...
Правильно посмеялись.
А ты не смеши.
И меньше выступай.
И больше пиши кода.
И будет тебе счастье.
P.S. Ты там программу пишешь, или обедаешь?
inkvizitor (2006-11-10 14:27:00) [59]Все так посмеялись, а советов рельных мало...
> Просмотрел всю ветку, диагноз - не дойдет, кто то раньше
> умрет.
что это значит?
> Да ладно, пусть попробует.
> Авось, что-нибудь и получится.
> Хотя... :((
Percent спасибо за LInes[i] попробую.
Мне надо сделать анализ рядов и куда я их "затолкаю" эти данные,я только три компоненты нашел - Grid,F1Book,Memo?
Percent (2006-11-10 13:40:00) [60]Просмотрел всю ветку, диагноз - не дойдет, кто то раньше умрет.
Да ладно, пусть попробует.
Авось, что-нибудь и получится.
Хотя... :((