![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Хелп плиз с работой с файлами... [D7, WinXP]
Ruffian © (2006-11-14 17:43:00)Привет уважаемые любители дельфинов)))
Вообщем ситуация такая: есть файл, там много чисел(, нужно выбрать n по счёту число, умножить его на 60, и вставить вместо того что было...Далее необходиме перейти к другой строке и зделать тоже самое итд...
З.Ы. числы разделены запятыми...
Напишите всё плиз как можно подробней, если можно(я ещё совсем зелёный програмист))))
Ketmar (2006-11-14 20:25:00) [1]>[15] Ruffian 14-Nov-2006, 20:05
>а перебераю всю мою библиотеку по дельфи
а надо не перебирать, а попытаться моск использовать...
Anatoly Podgoretsky (2006-11-14 20:22:00) [2]> Ruffian (14.11.2006 20:05:15) [15]
> только как видиш здесь нетуумножения на 60...
Осталось самое тяжелое умножение
Anatoly Podgoretsky (2006-11-14 20:21:00) [3]> Ruffian (14.11.2006 20:05:15) [15]
Несколько вопросов
1. какой тип у переменной string?
2. почему в качестве имени использовано зарезервирование имя?
3. почему и индекс с 0, возможно правильно?
Ruffian (2006-11-14 20:12:00) [4]чёт самое главное забыл сказать ... ВСЕМ СПАСИБО!!! Особенно Медвежьей услуге)))
Ruffian (2006-11-14 20:05:00) [5]Вообще ты правильно сказал, но темвременем пока вы отвечаете я не сижу и не зырькаю телек, а перебераю всю мою библиотеку по дельфи, и уже вот до чего до думался)
var i,c: integer;
begin
c:=0;
repeat
readln(File,String);
for i:=0 to lenght(string)-1 do // От начала до конца строки
begin
if string[i]=',' then begin // если запятая, то
c:=c+1; //Считаем запятые
if c=x then begin // Если нужная, то производим действия
{мой код}
Break; // Выходим из оператора for
end;
until EoF(File);
end;
только как видиш здесь нетуумножения на 60...
Медвежья услуга (2006-11-14 19:53:00) [6]Вот тебе пример кода. Только запомни: Я ПОДЛОЖИЛ ТЕБЕ БОЛЬШУЮ СВИНЬЮ. Потому что ты, воспользовавшись этим кодом, как был лентяем-попрошайкой, так дураком и останешься...
var
SL: TStrings;
begin
SL := TStringList.Create;
try
SL.LoadFromFile('c:\1.txt'); // грузим строку из файла
SL.Delimiter := ','; // числа в строке рзделены запятыми
SL.DelimitedText := SL.Text; // разбиваем строку на отдельные числа
SL[5] := IntToStr(StrToInt(Trim(SL[5])) * 60); // работаем с 6-м числом (индексация от 0)
// тут работаем с другими числами
SL.Text := SL.DelimitedText; // чтобы были запятые в результирующем файле
SL.SaveToFile('c:\2.txt'); // сохраняем результат
finally
FreeAndNil(SL);
end;
end;
Anatoly Podgoretsky (2006-11-14 19:51:00) [7]> DiamondShark (14.11.2006 19:33:11) [11]
Он еще умеет их и преобразовывать, кроме некоторых ограничений, например строка
1 1.2 3
ReadLn(F, a, b, c);
Где а, b, c = Integer, Double, Single
Ruffian (2006-11-14 19:37:00) [8]Блин, я хоть строку, хоть весь текст перекопирую...мне нижно именно как выделить число нежоне мне..
DiamondShark (2006-11-14 19:33:00) [9]
> какой оператор отвечает за поиск в текстовом файле?
никакой.
зато оператор readln умеет считывать текстовый файл по одной строке за раз.
как считать в строке запятые ты примерно представляешь. это плюс.
Ruffian (2006-11-14 19:15:00) [10]Блин, мне нужно чтоб число выделялось, после той запятой, которую он насчитал в строке...(после этого например копировалось в другой компонент, умножалось на 60 и встовлялось обратно вместо того числа, которое скопировал...)
Какое число по счёту пофиг, главное чтоб он умел считать числа и копировать именно то число, которое после запятой на этой строке...
Как считать запятые я примерно представляю..только вот как пользоваться их нахождением, какой оператор отвечает за поиск в текстовом файле?
Anatoly Podgoretsky (2006-11-14 19:01:00) [11]> Плохиш (14.11.2006 18:01:02) [2]
Что лично сам сделал?
Выкладываем, может быть поправим.
А пока только заказ работы, но с этим не сюда.
Anatoly Podgoretsky (2006-11-14 19:00:00) [12]> Ruffian (14.11.2006 18:40:07) [7]
Ты постоянно меняешь постановку, то тебе нужно именно 2324232, то второе по счету.
Почему молчим насчет срочности, это же сильно влияет на оплату.
Ruffian (2006-11-14 18:40:00) [13]>завтра сдавать контрольную, ага?
что-то типа этого...
>при помощи калькулятора ?
умножать на 60 будет сам компилятор, вернее запишу чтоб само умножалось число...
Меня интересует как мне получить отдельное число, которое мне нужно, например 2 по счёту на этой строчке после запетой(чтоб оно например в компонент мемо внеслось... а он сам уже умножал на 60 и вписывал обратно...) (сори если неточно выразился...)
Ketmar (2006-11-14 18:29:00) [14]>[3] Ruffian 14-Nov-2006, 18:21
>я тороплюсь, пример проги нужен к завтрашнему дню..
завтра сдавать контрольную, ага?
KilkennyCat (2006-11-14 18:26:00) [15]> как автоматизировать этот процесс?
при помощи калькулятора ?
Плохиш (2006-11-14 18:24:00) [16]2000 Euro по предоплате.
Ruffian (2006-11-14 18:21:00) [17]Прошу прощения, если что не так, просто у меня было не так много времени чтоб решить куда и как задать вопрос...
Огромное спасибо за ссылку, однако матерьял предложенный в ней имеет умопомрачающий размер...(я тороплюсь, пример проги нужен к завтрашнему дню..)Прошу превести пример кода, очень прошу, если не трудно...
Допустим мы имеем текстовый документ у которого в первой строке написано:
add1sd, 19294, 213939, 232325, 2324232, 23442423, 3242342, 21560,{}
дальше идёт вторая строка...(файл огромен, поэтому нада обязательно написать чтоб тоже самое было и с другой строкой..)
допустим мне нада взять из этой строки число 2324232 умножить на 60 и вернуть обратно...как автоматизировать этот процесс?
Заранее спасибо..(надеюсь вы отнисётесь к моей просьбе с пониманием..)
Плохиш (2006-11-14 18:01:00) [18]
> Напишите всё плиз как можно подробней, если можно(я ещё
> совсем зелёный програмист
Т.е. "зелёный програМмист" уже не попадает под категорию "Начинающим"?
fog (2006-11-14 17:51:00) [19]http://www.delphirus.com.ru/modules.php?name=News&file=article&sid=78