![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
точка в делфи [D7, XP]
inkvizitor © (2006-12-25 09:07:00)подскажите как в делфи точку заменять на запятую:
есть *.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;
inkvizitor (2006-12-25 14:43:00) [1]
> Ega23 © (25.12.06 09:29) [2]
> ЮЮ © (25.12.06 10:23) [12]
спасибо помогло.с наступаюшим всех!
Anatoly Podgoretsky (2006-12-25 12:26:00) [2]> inkvizitor (25.12.2006 11:46:15) [15]
У чисел нет ни точки, ни запятой.
Это строки
inkvizitor (2006-12-25 12:15:00) [3]
> Издеваешься? Целый вечер ему вдалбливают, что сабжевый код
> меняет знаки во временной переменной и нигде изменения не
> сохраняет, а он упёрся какбаран.
ну опять?
и как быть тогда?подскажи?pls.
ЮЮ (2006-12-25 11:57:00) [4]
> код если не трудно взгляни
> > inkvizitor © (25.12.06 09:07)
Издеваешься? Целый вечер ему вдалбливают, что сабжевый код меняет знаки во временной переменной и нигде изменения не сохраняет, а он упёрся как баран.
inkvizitor (2006-12-25 11:46:00) [5]
> код свой показывать надо, а не с форума :) А в Memo1 числа
> есть?
код если не трудно взгляни
> inkvizitor © (25.12.06 09:07)
и
> inkvizitor © (25.12.06 09:31) [3]
это и есть моя "красота"
там пытался чето сделать но не то.
числа типа 123,456
***,*** строит график на chart-е
а числа типа 123.456
***.*** уже не строит .
хочется что бы программе было по барабану что за знаки(./,) - сама правильно различала и считывала
ЮЮ (2006-12-25 11:26:00) [6]
> на графике одни нули и ничего;-(?
код свой показывать надо, а не с форума :) А в Memo1 числа есть?
inkvizitor (2006-12-25 11:13:00) [7]
> 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 10:23:00) [8]ну зачем так обижать?
мне надо
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 10:17:00) [9]
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 :-(
novill (2006-12-25 10:07:00) [10]> [9] Ega23 © (25.12.06 10:04)
я-то ку, но это не было явно сказано.
Ega23 (2006-12-25 10:04:00) [11]
> А почему никто не предложит немного варварский метод:
Потому, что может быть и запятая и точка. Ку?
novill (2006-12-25 10:03:00) [12]> [0] inkvizitor © (25.12.06 09:07)
А почему никто не предложит немного варварский метод:
если в файле разделителями запятые, то DecimalSeparator:=',' если в файле точки, то DecimalSeparator:='.' ?
Ega23 (2006-12-25 09:54:00) [13]
> Memo1.Text := StringReplace(Memo1.Text, ',', '.', [rfReplaceall ]);
inkvizitor (2006-12-25 09:49:00) [14]
> обратись к автору "красоты", коль в 3х строках кода разобраться
> не можешь
ну зачем так обижать?
мне надо
1)загрузить в мемо *.txt файл (вещественые числа)
2)преобразовать в массив
3)построить график этого массива.
у меня строит график только целых чисел и с запятой,а с точкой не строит.
ЮЮ (2006-12-25 09:38:00) [15]обратись к автору "красоты", коль в 3х строках кода разобраться не можешь
inkvizitor (2006-12-25 09:36:00) [16]
> Memo1.Text := StringReplace(Memo1.Text, ',', '.', rfReplaceall);
выдает: incompatible types:'TrepaleFlags' and 'Enumeration'?
если не трудно см.
> inkvizitor © (25.12.06 09:31) [3]
.
inkvizitor (2006-12-25 09:31:00) [17]
> Обратно в 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;
Ega23 (2006-12-25 09:29:00) [18]
Memo1.Text := StringReplace(Memo1.Text, ',', '.', rfReplaceall);
ЮЮ (2006-12-25 09:17:00) [19]
> но че то неработает?
Обратно в Memo1 не положил:
Memo1.Lines[j] := s;