Подскажи пожалуйста как взять из txt файла инфу допустим числа 2 и 4 сложить их и записать результаты сложения в другой txt файл? через delphi
Заранее Спасибо!
[Ответ]
ХАРЧО 14:28 25.11.2006
А все очень просто
var F: TextFile;
var i1, i2: Integer;
begin
AssignFile(F, 'C:\путь_к_файлу_с_данными.ext');
Reset(F);
ReadLn(F, i1, i2);
CloseFile(F);
AssignFile(F, 'C:\Новый_файл_нах');
Rewrite(F);
WriteLn(F, i1 + i2);
CloseFile(F);
end;
[Ответ]
procedure TForm1.B1Click(Sender: TObject);
var
F:textfile;
x,y,i1,i2:integer;
begin
AssignFile(F, 'C:\MyFile.txt');
Reset(F);
ReadLn(F, i1, i2, x, y);
CloseFile(F);
AssignFile(F, 'C:\MyFile2.txt');
Rewrite(F);
if (x div y = 0) and (i1 div i2 = 0) then
begin
Writeln(F, x*y);
closefile(F);
end
else
begin
writeln(F, i1 + i2);
writeLn(F, i1,' i ', i2, ' =nacelo');
CloseFile (F) ;
end;
end;
end.
Объясните нубу что сдеся непрального такого, что прога принимает всегда значение else даже если стоят числа которые делятся без остатка.
[Ответ]
mikе 00:28 26.11.2006
насколько я помню, div — суть есть деление нацело. а остаток от деления берётся через mod.
PS
А отступы делать не учили? Код трудночитаем больно.
[Ответ]
Live4Fun 00:45 26.11.2006
смысл в том что если сотаток есть то число делиться не нацело а если нет то нацело, но пачиму-то он выполняет тока else
[Ответ]
DRON-ANARCHY 10:59 26.11.2006
Сообщение от Live4Fun:
ReadLn(F, i1, i2, x, y);
имхо тут барада
раз уж числа в строках записаны, то попробуй считывать их построчно.
[Ответ]
ХАРЧО 11:35 27.11.2006
DRON-ANARCHY, вроде никакой барады, если числа целые и записаны на одной строке через пробел. Все-таки ж*пой чую, что подвох в том, что используется div вместо mod, ибо: если числа x делится на y без остатка, то результат будет как минимум 1 те <> 0.
ИМХО if (x mod y = 0) and (i1 mod i2 = 0) then//нацело[Ответ]