|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.03.2011, 10:35 | #1 |
Форумчанин
Регистрация: 30.07.2009
Сообщений: 256
|
Некорректная работа с файлами
Создал процедуру для чтения из одного файла и записи в другой файл типа integer. Но напоролся на странную вещь - данные считанные из одного файла программа вывела в другой файл нормально, а простую переменную типа integer выводит как кракозябру. Как это можно исправить?
Код:
Последний раз редактировалось Gapro; 23.03.2011 в 13:04. |
23.03.2011, 10:54 | #2 |
Пользователь
Регистрация: 03.10.2008
Сообщений: 93
|
ИМХО, а почему Integer? а не string?
|
23.03.2011, 11:10 | #3 |
Форумчанин
Регистрация: 26.07.2009
Сообщений: 489
|
В переменную типа Integer не может содержать "кракозябра", поскольку какие бы ты 4 байта не записал в эту переменную, они будут интерпритированны как какое-то значение.
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
|
23.03.2011, 12:01 | #4 | |
Форумчанин
Регистрация: 30.07.2009
Сообщений: 256
|
У меня write выводит ascii символ, а не переменную, а почему и как это исправить понять не могу.
Цитата:
|
|
23.03.2011, 12:24 | #5 |
кривокодер ;)
Форумчанин
Регистрация: 20.06.2008
Сообщений: 707
|
Ну для начала поставьте бряк на начало записи и пошагово отслеживайте что у Вас читает из файла, и что пишет в файл...
ИМХО, дело в неправильном чтении файла. Так же можно посмотреть как устроено чтение и запись в TIniFile. а ещё... стоило бы массив сделать динамическим.
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид} |
23.03.2011, 12:35 | #6 |
Форумчанин
Регистрация: 30.07.2009
Сообщений: 256
|
Я отслеживал, считывает огромное число, но при записи в файл оно нормально. А как тогда правильно читать из file of integer? Такое ощущение что в file of integer совсем не integer.
|
23.03.2011, 12:51 | #7 |
Форумчанин
Регистрация: 26.07.2009
Сообщений: 489
|
может файловым потом лучше будет считывать?
А вообще, используй Hex-редактор и дебагер, и отлаживай свою программу. При записи очень больших и сложных алгоритмов без него никак.
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
|
23.03.2011, 13:04 | #8 | |
Форумчанин
Регистрация: 30.07.2009
Сообщений: 256
|
Цитата:
|
|
23.03.2011, 13:08 | #9 |
кривокодер ;)
Форумчанин
Регистрация: 20.06.2008
Сообщений: 707
|
Смотри, как устроены TIniFile и читай строку 4 байта, затем приводи типы, например
PDouble(@str[1])^ А вобще... в каком виде должны храниться числа в файле? В виде читаемой строки, или в виде 4 байт?
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид} |
23.03.2011, 17:14 | #10 |
Форумчанин
Регистрация: 30.07.2009
Сообщений: 256
|
Числа хранятся как обычный текстовый файл: "1 2 3 4 5 " к примеру.
Такое ощущение, что Это из-за того, что я в 7-ке пишу на Delphi 7. Потому что даже Memo.Lines.LoadFromFile мне чушь выдает |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
mkfifo, некорректная работа (Линукс) | IceBreaker | Помощь студентам | 4 | 21.03.2012 13:34 |
Некорректная работа меню (jquery) | 4e4en | JavaScript, Ajax | 4 | 20.10.2010 08:49 |
Некорректная работа Ucoz.ru | docbrain | WordPress и другие CMS | 7 | 31.03.2010 11:26 |
Некорректная работа функции в потоке. | TwiX | Общие вопросы Delphi | 3 | 28.02.2010 12:33 |
Некорректная работа потока | 3D Hunter | Общие вопросы Delphi | 7 | 09.03.2009 10:51 |