Форум: "Потрепаться";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
ВнизФайл . И , Найти похожие ветки
← →
an-na2002 (2004-03-26 12:27) [40]Удалено модератором
Примечание: Offtopic
← →
Digitman © (2004-03-26 14:13) [41]
> an-na2002
> а если
а если не секрет, что за "кривые ручки" или "кривая программа" могла сформировать такой файл ? Кто этим самым причинным местом "кушал", когда формировал эту солянку ?
← →
Digitman © (2004-03-26 14:18) [42]могу, конечно, предположить , что "кривая программа" - не твоя собственная, и у тебя не было возможности повлиять на ее работу, дабы она формировала одни и те же дес.разделители ..
но ведь программа-то наверняка брала системные рег.установки на момент старта ! .. и, вероятно, какой-то чукча-юзер баловался от нефига делать рег.установками перед запуском программы ...что, никак нельзя было хряснуть его по рукам, чтобы не лез туда, куда ему, чукче, не следует ? коль такие вот дела происходят ?
← →
Плохиш (2004-03-26 14:26) [43]
> an-na2002 (26.03.04 09:37) [32]
> Поконкретней для дудаков? 0:((.
Дудаки должны улицы мести.
> zamkom © (26.03.04 09:59) [37]
> Господа вам не кажется, что данная ветка достойна орешника
Чем?
Она достойна только LMD
← →
han_malign © (2004-03-26 16:31) [44]
program Parse;
{$APPTYPE CONSOLE}
uses Windows;
function ParseReal(var aOffs: integer; const aStr: string; var aValue: extended): boolean;
var len, nDots: integer;
sVal: string;
begin
len:=Length(aStr); if(aOffs<=0)then aOffs:=0;
while((aOffs<=len)and not(aStr[aOffs]in[",",".","0".."9"]))do inc(aOffs);
sVal:="";nDots:=0;
//
while((aOffs<=len)and(aStr[aOffs]in[",",".","0".."9"])and(nDots<=1))do begin
if(aStr[aOffs]in[",","."])then begin
inc(nDots);
if(nDots<=1)then sVal:=sVal+".";
end else sVal:=sVal+aStr[aOffs];
inc(aOffs);
end;
Result:=sVal<>"";
if(Result)then Val(sVal,aValue,len) else aValue:=0;
Result:=Result and (len=0);
end;
var Vf: Text;
w,t : extended;
res, offs: integer;
sLine: string;
begin
if(ParamCount<1)then WriteLn("Usage: Parse.exe <file name>")
else begin
AssignFile(Vf,ParamStr(1));
{$I-}Reset(Vf);{$I+}
res:=IOResult;
if(res<>0)then WriteLn("Error ",res," on file ",ParamStr(1)," open")
else begin
while(not Eof(Vf)) do begin
ReadLn(Vf,sLine);
offs:=1;
if(ParseReal(offs,sLine,w)and ParseReal(offs,sLine,t))then begin
{...}
Writeln("Process pair(",w,"",t,")");
end else Writeln("Error on value pair parsing in "",sLine,""");
end;
end;
end;
end.
text.txt
1.1 1,2
2.1,2,2
3/.3
>Parse text.txt
Process pair( 1.10000000000000E+0000 1.20000000000000E+0000)
Process pair( 2.10000000000000E+0000 2.20000000000000E+0000)
Process pair( 3.00000000000000E+0000 3.00000000000000E-0001)
← →
han_malign © (2004-03-26 16:34) [45]>> Господа вам не кажется, что данная ветка достойна орешника
- исключительно из-за ответов, сами все когда-то такими "лохами" были...
З.Ы. Интернет дали только 15 минут назад...
← →
Reindeer Moss Eater © (2004-03-26 16:37) [46]Через 15 минут медаль дадут
← →
han_malign © (2004-03-26 17:14) [47]>Reindeer Moss Eater ©
- а на хрена попу гармонь?
← →
Плохиш (2004-03-26 17:22) [48]>han_malign © (26.03.04 16:34) [45]
> сами все когда-то такими "лохами" были...
Когда мы были такими "лохами", мы шли в магазИн, покупали умные книжки и читали их. А кто так не делал, тот сейчас улицы метёт или под забором пьяный валяется и хает эту паскудную жизнь.
← →
han_malign © (2004-03-26 17:31) [49]>Плохиш (26.03.04 17:22) [48]
- не надо сравнивать вопросы типа "как прочитать файл", и "алгоритм считывания вещественных чисел из текстового файла, адаптивный к формату данных"
← →
Плохиш (2004-03-26 17:39) [50]
> han_malign © (26.03.04 17:31) [49]
Не надо расказывать, что способности находить решения зависят от поставленной задачи
← →
DCoder © (2004-03-27 11:28) [51]Если файл большой, то его стоит отобразить в памяти. Это увеличит скорость выполнения задачи.
Страницы: 1 2 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.033 c