![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
запись массива в поток [D7]
Vladimir200000 © (2010-02-06 01:51:00)подскажите пожалуйста как прочитать из потока, состоящего из целых положительных и отрицательных чисел в массив.
brother (2010-02-09 04:32:00) [1]в [36] и я об этом...
Anatoly Podgoretsky (2010-02-08 19:06:00) [2]> brother (08.02.2010 07:45:42) [42]
Это следует читать как $
brother (2010-02-08 07:45:00) [3]я про @
brother (2010-02-08 07:44:00) [4]> @FFFFFFFF
это что?
Anatoly Podgoretsky (2010-02-08 07:43:00) [5]> brother (08.02.2010 07:37:39) [39]
А она не знает тебе что интегер или кардинал, ты наоборот пробуй
brother (2010-02-08 07:37:00) [6]> Run/Calc/Enter
ставлю @FFFFFFFF в десятичной выводит: 4294967295, где -1 ?
Anatoly Podgoretsky (2010-02-08 07:33:00) [7]> brother (08.02.2010 07:21:36) [36]
Но я бы такой вопрос при наличии калькулятора Виндоус не задавал бы.
Run/Calc/Enter
Anatoly Podgoretsky (2010-02-08 07:32:00) [8]> brother (08.02.2010 07:21:36) [36]
-1
brother (2010-02-08 07:21:00) [9]> @FFFFFFFF
это сколько?
Anatoly Podgoretsky (2010-02-08 07:16:00) [10]> KilkennyCat (08.02.2010 00:19:33) [33]
Такой чистый переменный, железный птиц пытался.
А интегер он гадский все никак не хотел чиститься от значения.
Все значения правильный.
Все от $00000000 до @FFFFFFFF
Германн (2010-02-08 03:01:00) [11]
> У инопланетной Делфи такая есть.
У инопланетных зеленых чертиков точно есть такая Делфи. :)
KilkennyCat (2010-02-08 00:19:00) [12]
> Anatoly Podgoretsky © (07.02.10 21:59) [32]
из своей глючной памяти, откуда ж еще. по-моему, она должна возвращать некое дефолтное значение, если вдруг совершается попытка конвертировать в строку нечисловое. :) У инопланетной Делфи такая есть.
Anatoly Podgoretsky (2010-02-07 21:59:00) [13]> KilkennyCat (07.02.2010 21:49:30) [30]
Откуда ты взял вторую функцию и что по твоему она должна делать.
KilkennyCat (2010-02-07 21:59:00) [14]вах, я перепутал с strtointdef :)
KilkennyCat (2010-02-07 21:49:00) [15]
> sniknik © (07.02.10 21:41) [29]
а, ну если в принципе, то конечно, работать должно :), только тогда надо вместо IntToStr(mas[i]);
IntToStrDef(mas[i], 0);
sniknik (2010-02-07 21:41:00) [16]> ага, особенно если в файле следующее:
это не важно, проверь. просто результат будет неожиданным если ждать чего то конкретного... но на то и сказал что вряд ли поможет.
KilkennyCat (2010-02-07 21:35:00) [17]
> но работать должно
ага, особенно если в файле следующее:
0123456789
или
0 1 2 3 4 5 6 7 8 9
или
0
1
2
3
4
5
7
8
9
или
01234567899 - здесь тоже 10 чисел
sniknik (2010-02-07 19:04:00) [18]больно видеть...
вот, хотя и не верю, что поможет, но работать должно
procedure TForm1.LoadButton1Click(Sender: TObject);
const
MaxElements = 10;
var
i: integer;
mas: array[1..MaxElements] of integer;
begin
with TFileStream.Create('D:\тест\file34.txt', fmopenread) do
try
Read(mas[1], MaxElements*(SizeOf(integer)));
for i:= 1 to MaxElements do
StringGrid2.Cells[1, i] := IntToStr(mas[i]);
finally
Free;
end;
end;
KilkennyCat (2010-02-07 16:39:00) [19]и до сих пор неизвестно, как собственно, записаны данные, что в file34.txt.
Строковые? в этом есть необходимость? если нужно лишь сохранить и читать и лишь в пределах данной программы нет необходимости в k[i] := strtoint(F);, а раз уж есть, то в таких случаях гораздо лучше использовать strtointdef с последующей обработкой ошибки.
KilkennyCat (2010-02-07 16:34:00) [20]
> очему то весь файл вписываются в переменную f за один цикл,
> а потом усе..
потому что ты совершенно не понимаешь, что написал. Где-то передрал код?
Length := p2.Size; - размер чего?
SetLength(F, length); - размер чего?
p2.Read(PChar(F)^, length); - что это делает?