Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Массив из Мемо [D7, XP]


Страницы:   1 2 3 4 5

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]

Просмотрел всю ветку, диагноз - не дойдет, кто то раньше умрет.

Да ладно, пусть попробует.
Авось, что-нибудь и получится.
Хотя... :((


Страницы:   1 2 3 4 5

Наверх

Титульная страница Поиск, карта сайта Написать письмо