Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];

Вниз

Чтение данных из оверлея   Найти похожие ветки 

 
Слава-17   (2007-07-14 13:22) [0]

При исполнении этого кода:


var
 Str: String;
begin
 Str := "";
 with TFileStream.Create(ParamStr(0), fmOpenRead or fmShareDenyWrite) do try
   Seek(Size - 4, soFromBeginning);
   SetLength(Str, 4);
   ReadBuffer(Str, 4);
 finally
   Free;
 end;
 ShowMessage(Str);


Вылетает ошибка Acces Violation. Странно. Ведь файл программы был открыт
с использованием fmShareDenyWrite. Я что-то делаю не так?


 
Anatoly Podgoretsky ©   (2007-07-14 15:00) [1]

> Слава-17  (14.07.2007 13:22:00)  [0]

ReadBuffer(Str[1], 4);


 
Слава-17   (2007-07-14 16:01) [2]

Спасибо! Помогло. А как с другими типами данных?..


 
Anatoly Podgoretsky ©   (2007-07-14 16:02) [3]

А нет здесь других типов данных
Но все просто, первый параметр адрес "буфера"


 
Слава-17   (2007-07-14 16:21) [4]

То есть, если я захочу считать Integer, писать просто:


var
 Int: Integer;
begin
 Int := 0;
 ..
 ReadBuffer(Int, 3);
 ..
 ShowMessage(IntToStr(Int));


?


 
{RASkov} ©   (2007-07-14 16:45) [5]

> [4] Слава-17   (14.07.07 16:21)
> ReadBuffer(Int, 3);

Нет, не так. Вот так:
ReadBuffer(Int, SizeOf(Int));


 
Zagaevskiy ©   (2007-07-14 16:47) [6]


> ReadBuffer(Int, SizeOf(Int));

const
  t = SizeOf(Integer);
....
  ReadBuffer(Int, t);
;)


 
{RASkov} ©   (2007-07-14 16:59) [7]

> [6] Zagaevskiy ©   (14.07.07 16:47)

Не.... не верно....
так как я могу переменной Int поставить впоследствии вместо типа Integer тип Byte....
И ищи свищи где там еще чего исправить...
;)


 
Anatoly Podgoretsky ©   (2007-07-14 17:00) [8]

> Zagaevskiy  (14.07.2007 16:47:06)  [6]

Глупость, а завтра он поменяет тип int и все к черту


 
Слава-17   (2007-07-15 00:39) [9]

Все, спасибо... :)))


 
Zagaevskiy ©   (2007-07-15 11:38) [10]


> Глупость, а завтра он поменяет тип int и все к черту

да это просто из соседней ветки
http://delphimaster.net/view/2-1184413664/



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.042 c
2-1184427323
Bbbbb...
2007-07-14 19:35
2007.08.12
TButton, inherited, Enabled


2-1184691623
mfender
2007-07-17 21:00
2007.08.12
Преобразование времени RFC822 в TDateTime


15-1184486603
TStas
2007-07-15 12:03
2007.08.12
Test


15-1183967790
Kolan
2007-07-09 11:56
2007.08.12
Можно ли пределать файл помощи к простым клсамам?


2-1183970865
Newser
2007-07-09 12:47
2007.08.12
тип поля - Дата/время





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский