Текущий архив: 2007.01.14;
Скачать: 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 вся ветка
Текущий архив: 2007.01.14;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.013 c