Вниз
Скачать: CL | DM;

точка в делфи   Найти похожие ветки 

← →
inkvizitor ©   (2006-12-25 09:07) [0]

подскажите как в делфи точку заменять на запятую:
есть *.txt(в мемо) файл в нем числа вещественные.
пытался делать по этому коду, но че то неработает?

var s:string;
    i,j:integer;
for i:=0 to Memo1.Lines.Count-1 do {цикл по всему мемо}
begin
s:=Memo1.Lines.Strings[i-1]; {присваиваем S строку}
for j:=1 to length(s) do    {открываем цикл по строке}
if (s[j]=".") then s[j]:=",";   {замена точки на запятую}
end;


← →
ЮЮ ©   (2006-12-25 09:17) [1]


> но че то неработает?


Обратно в Memo1 не положил:
 Memo1.Lines[j] := s;


← →
Ega23 ©   (2006-12-25 09:29) [2]

Memo1.Text := StringReplace(Memo1.Text, ",", ".", rfReplaceall);


← →
inkvizitor ©   (2006-12-25 09:31) [3]


> Обратно в Memo1 не положил:
>  Memo1.Lines[j] := s;

а куда это ставить, в эту "красоту"?

procedure TForm1.Button3Click(Sender: TObject);
var
 i,j:integer;
 s:string;
begin
Setlength(x,Memo1.Lines.Count);
for i:=0 to Memo1.Lines.Count-1 do
begin
s:=Memo1.Lines.Strings[i-1];
for j:=1 to length(s) do
if (s[j]=".") then  s[j]:=",";
end;
for i:=0 to Memo1.Lines.Count-1 do
x[i]:=strtofloat(Memo1.Lines[i]);
Chart1.Series[0].Clear;
for i:=0 to Memo1.Lines.Count-1 do begin
Chart1.SeriesList[0].Add(x[i]," ",clblack); end;
end;


← →
inkvizitor ©   (2006-12-25 09:36) [4]


> Memo1.Text := StringReplace(Memo1.Text, ",", ".", rfReplaceall);


выдает: incompatible types:"TrepaleFlags" and "Enumeration"?
если не трудно см.
> inkvizitor ©   (25.12.06 09:31) [3]
.


← →
ЮЮ ©   (2006-12-25 09:38) [5]

обратись к автору "красоты", коль в 3х строках кода разобраться не можешь


← →
inkvizitor ©   (2006-12-25 09:49) [6]


> обратись к автору "красоты", коль в 3х строках кода разобраться
> не можешь

ну зачем так обижать?
мне надо
1)загрузить в мемо *.txt файл (вещественые числа)
2)преобразовать в массив
3)построить график этого массива.
у меня строит график только целых чисел и с запятой,а с точкой не строит.


← →
Ega23 ©   (2006-12-25 09:54) [7]


> Memo1.Text := StringReplace(Memo1.Text, ",", ".", [rfReplaceall]);


← →
novill ©   (2006-12-25 10:03) [8]

> [0] inkvizitor ©   (25.12.06 09:07)


А почему никто не предложит немного варварский метод:
если в файле разделителями запятые, то DecimalSeparator:="," если в файле точки, то DecimalSeparator:="." ?


← →
Ega23 ©   (2006-12-25 10:04) [9]


> А почему никто не предложит немного варварский метод:


Потому, что может быть и запятая и точка. Ку?


← →
novill ©   (2006-12-25 10:07) [10]

> [9] Ega23 ©   (25.12.06 10:04)

я-то ку, но это не было явно сказано.


← →
inkvizitor ©   (2006-12-25 10:17) [11]


var
 i,j:integer;
 s:string;
begin
Setlength(x,Memo1.Lines.Count);
Memo1.Text := StringReplace(Memo1.Text, ",", ".",[rfReplaceall]);

for i:=0 to Memo1.Lines.Count-1 do
x[i]:=strtofloat(Memo1.Lines[i]);

Chart1.Series[0].Clear;
for i:=0 to Memo1.Lines.Count-1 do begin
Chart1.SeriesList[0].Add(x[i]," ",clblack);
Chart1.BottomAxis.LabelsAngle:=45;
end;

выбивает.sos :-(


← →
ЮЮ ©   (2006-12-25 10:23) [12]

ну зачем так обижать?
мне надо
1)загрузить в мемо *.txt файл (вещественые числа)
2)преобразовать в массив
3)построить график этого массива.


почему же словесный алгоритм не можешт сопоставить с кодом?
Зачем тебе два цикла подряд?

for i:=0 to Memo1.Lines.Count-1 do
begin
 s:=Memo1.Lines.Strings[i-1];
 for j:=1 to length(s) do
 if (s[j]=".") then  s[j]:=",";
 x[i]:=strtofloat(s);
end;


Memo1.Text := StringReplace(Memo1.Text, ",", ".",[rfReplaceall]);
Ты запятую меняешь на точку. А хотел наоборот :)


← →
inkvizitor ©   (2006-12-25 11:13) [13]


> for i:=0 to Memo1.Lines.Count-1 do
> begin
>  s:=Memo1.Lines.Strings[i-1];
>  for j:=1 to length(s) do
>  if (s[j]=".") then  s[j]:=",";
>  x[i]:=strtofloat(s);
> end;
> Memo1.Text := StringReplace(Memo1.Text, ",", ".",[rfReplaceall]);


на графике одни нули и ничего;-(?


← →
ЮЮ ©   (2006-12-25 11:26) [14]


> на графике одни нули и ничего;-(?


код свой показывать надо, а не с форума :) А в Memo1 числа есть?


← →
inkvizitor ©   (2006-12-25 11:46) [15]


> код свой показывать надо, а не с форума :) А в Memo1 числа
> есть?

код если не трудно взгляни
> inkvizitor ©   (25.12.06 09:07)  

и
> inkvizitor ©   (25.12.06 09:31) [3]

это и есть моя "красота"
там пытался чето сделать но не то.
числа типа 123,456
               ***,*** строит график на chart-е
а числа типа 123.456
                  ***.*** уже не строит .
хочется что бы программе было по барабану что за знаки(./,) - сама правильно различала и считывала


← →
ЮЮ ©   (2006-12-25 11:57) [16]


> код если не трудно взгляни
> > inkvizitor ©   (25.12.06 09:07)  


Издеваешься? Целый вечер ему вдалбливают, что сабжевый код меняет знаки во временной переменной и нигде изменения не сохраняет, а он упёрся как баран.


← →
inkvizitor ©   (2006-12-25 12:15) [17]


> Издеваешься? Целый вечер ему вдалбливают, что сабжевый код
> меняет знаки во временной переменной и нигде изменения не
> сохраняет, а он упёрся как баран.

ну опять?
и как быть тогда?подскажи?pls.


← →
Anatoly Podgoretsky ©   (2006-12-25 12:26) [18]

> inkvizitor  (25.12.2006 11:46:15)  [15]

У чисел нет ни точки, ни запятой.
Это строки


← →
inkvizitor ©   (2006-12-25 14:43) [19]


> Ega23 ©   (25.12.06 09:29) [2]


> ЮЮ ©   (25.12.06 10:23) [12]

спасибо помогло.с наступаюшим всех!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.49 MB
Время: 0.027 c
15-1166707111
Новый
2006-12-21 16:18
2007.01.14
Алгоритмы шифрования


2-1167002092
Vladimir1984
2006-12-25 02:14
2007.01.14
Как получить цвет отдельного пикселя на панели...


2-1167137665
Numark
2006-12-26 15:54
2007.01.14
Проблема с таймером


15-1166717314
kaZaNoVa
2006-12-21 19:08
2007.01.14
Чем лучше всего распознать фотки документов?


2-1166873475
Серый
2006-12-23 14:31
2007.01.14
удаление из stringgrid




   Наверх