![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Массив из Мемо [D7, XP]
inkvizitor © (2006-11-10 11:10:00)Пожалуйста помогите !
1) Как из Мемо(в нем уже есть числа в один столбец) сделать массив чисел путем процедуры БаттонКлик(результат должнен выводится тоже в мемо, но на др. форме).Через IntToStr() чёто не получается или я что-то не так делал;
2) Можно ли через компоненту OpenDialog загрузить данные в F1Book(не знаю точных свойств F1Book).
3) как компоненту Chart "заставить" выводить график используя данный Мемо(см. выше)???
Заранее благодарен.
Сергей М. (2006-12-19 10:09:00) [1]SetLength(дин_массив, 0);
inkvizitor (2006-12-19 09:35:00) [2]как правильно записать Free?
т.е. объект.Free или как еще?
у меня объект динам. массив.
inkvizitor (2006-12-13 10:44:00) [3]
> А чем IB отличается от остальных? Принципы те же.
Нужно именно InterBase и ничего кроме него.Подскажите где книги взять(скачать) или дайте дельный советик?
Игорь Шевченко (2006-12-13 10:44:00) [4]
> Вообщем скажите,как стек очищать перед каждым запуском программы?
>
> Чтобы память ЦПУ не напрягалась.
Вантузом
inkvizitor (2006-12-13 10:41:00) [5]> Как загружаеш?
ОЧень поросто через Button: открыть-ОК
во что?
В МЕМО
Каким компонентом?
savedialog.
Вообщем скажите,как стек очищатьперед каждым запуском программы?
Чтобы память ЦПУ не напрягалась.
Elen (2006-12-12 10:27:00) [6]
> запускаем программу загружаем данные *.txt
Как загружаеш? во что? Каким компонентом?
> где можно найти много-много литературы полезной про InterBase,
> именно про InterBase и ничего кроме?
А чем IB отличается от остальных? Принципы те же. У Подгорецкого на домашнем сайте кажись есть про базы
inkvizitor (2006-12-12 09:38:00) [7]Вопрос не относится к предыдущим.
Как разработать базу данных в Delphi используя InterBase?
1 Имеется карточка ввода, в ней данные которые нужно раскидать по разным таблицам. Как это сделать?(Желательно примерный код)
2 Как отображать информацию из базы данных в Excel документ, создание отчета?(Желательно примерный код)
3 И вообще где можно найти много-много литературы полезнойпро InterBase, именно про InterBase и ничего кроме?
Извиняюсь что всех уже порядком достал, но на то и вы есть Учителя.
inkvizitor (2006-12-12 09:23:00) [8]Люди, проблема вот в чем запускаем программу загружаем данные *.txt(см. inkvizitor © (11.12.06 10:37) [77]) (ну примерно 300-500 строк и более) программа один раз работает а второй или третий раз НЕТ - Переполнение стека(Из-за динамич. Массива)Как это предотвратить?Что надо очищать перед каждым запуском?
Elen (2006-12-11 13:00:00) [9]
> Да вроде регистр не особо и влияет.
Ладно, Сорри за Офтоп - это можно стирать. Просто стерли один вопросец по сабжу, вот думаю чего там не так было, может перепутали с кем... Ну ладно проехали, еще раз извиняюсь.
Anatoly Podgoretsky (2006-12-11 12:54:00) [10]> Elen (11.12.2006 12:34:25) [85]
Да вроде регистр не особо и влияет.
Elen (2006-12-11 12:34:00) [11]
> Anatoly Podgoretsky
Сразу Sorry за Офтоп.
Как модератору - не будете против если я Ник поставлю большими буквами, а то тут еще вдруг и перепутают кое с кем и сотрут?.
Anatoly Podgoretsky (2006-12-11 12:32:00) [12]> Elen (11.12.2006 12:29:23) [83]
А почему мне?
Конечно вопрос не по теме, должен задаваться в отдельной теме и это не должно быть личной перепиской. Вопрос должен относиться ко всем.
Вот в таком виде можно.
Elen (2006-12-11 12:29:00) [13]
> Anatoly Podgoretsky
А можно вопрос не по теме?
Anatoly Podgoretsky (2006-12-11 12:21:00) [14]А как попало?
Автор должен выдать эту информацию, если хочет получить квалифицированый совет. Но пока по данной гигантской ветке видно, что тривильного Readln достаточно
Elen (2006-12-11 11:20:00) [15]
> А чем readln(f, float1, float2) не нравиться?
Можно (читать: нужно), но боюсь у автора файл форматирован как попало...
Плохиш (2006-12-11 11:11:00) [16]
> Elen © (11.12.06 11:01) [79]
А чемreadln(f, float1, float2)не нравиться?
Elen (2006-12-11 11:01:00) [17]
> данные могут быть такими:
> 22737.56 1.3509317E-03
> 22738.09 1.3509317E-03
> 22738.63 1.3509317E-03
Уж коли захочется Readln то примерно так :
readln(f,a);
a:=trim(a);
i:=length(a);while a[i]<>' ' do begin b:=a[i]+b; dec(i);end;
a:=trim(copy(a,1,i));
Ну и в "а" будет первое в "b" второе число, как бы оно не выглядело. Приведеш его потом к числовому формату и делов...
Elen (2006-12-11 10:44:00) [18]
> inkvizitor
А ты не с мемо работай а с TstringGrid. И тудыть в колонки запихивай данные из разных файлов. Там на каждую колонку есть LoadFromFile. Дешево и красиво ;)
inkvizitor (2006-12-11 10:37:00) [19]как пробелы считывать?Если выводить массив Х[i] то иногда проходит,а иногда нет. но когда Y[i] это не работает. Вот данные
22737.56 1.3509317E-03
22738.09 1.3509317E-03 , а вот резт-т:
X[i] 22737.56
22738.09
Y[i] 0,0013509317
0,0013509317
Код программы:
type
TMass=array of double;
var
x,y: TMass;
i,p1,p2,p3,p4,k,j: integer;
s: string;
begin
if Memo1.Lines.Count=0 then begin ShowMessage('нет данных!'); exit;end;
Form2.Memo1.Lines.Clear;
Form1.Visible:=False;
Form2.Visible:=True;
SetLength(x,Memo1.Lines.Count);
SetLength(y,Memo1.Lines.Count);
for i:=1 to length(x) do
begin
k:=1;
p1:=0; p2:=0;p3:=0;p4:=0; {пробелы и числа}
s:=Memo1.Lines.Strings[i];
for j:=1 to length(s) do
if (S[j]='.') then s[j]:=',';
while (s[k]=' ')do {поиск пробела в начале строки}
begin
p1:=p1+1;
k:=k+1;
end;
p2:=p1;
while (s[k]<>' ')do {поиск первого числа}
begin
p2:=p2+1;
k:=k+1;
end;
p3:=p2;
while (s[k]=' ')do {поиск второго пробела}
begin
p3:=p3+1;
k:=k+1;
end;
p4:=p3;
while (s[k]<>' ')do {поиск второго числа}
begin
p4:=p4+1;
k:=k+1;
end;
Form2.Edit1.Text:=Copy(s,p1+1,p2-p1);
Form2.Edit2.Text:=Copy(s,p3+1,p4-p3);
x[i]:=StrToFloat(Copy(s,p1+1,p2-p1)); {запись числа в 1-й массив}
y[i]:=StrToFloat(Copy(s,p3+1,p4-p3)); {запись числа в 2-й массив}
Form2.Memo1.Lines.Add(floattostr( x[i](или y[i]))); {вывод массива на форму2 }
end;
end;
Вообщем все таки не получается по человечески разрезать строку.HELP!!!
Anatoly Podgoretsky (2006-12-04 13:51:00) [20]> inkvizitor (04.12.2006 13:32:13) [73]
> readln(Memo.Lines[].Pos[]) ;
Из этого правильно только readln(