|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Не получается сравнить значение var Buffer и строки?
Написал вот так, не работает:
Код:
var n, b: string; FileFrom, FileTo: TFileStream; FileFrom := TFileStream.Create('filefrom.txt', fmOpenRead); FileTo := TFileStream.Create('outfile.txt', fmCreate); FileFrom.ReadBuffer(n, 1); b := 'мое значение'; if n = b then Exit; Получаю ошибку Access violation и Runtime Error. Как исправить? |
#2
|
||||
|
||||
Код:
Setlength(n, сколько нужно); FileFrom.ReadBuffer(@n[1], сколько нужно); — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#3
|
|||
|
|||
Цитата:
Не работает, 'Constant object cannot be passed as var parameter'. Если не сложно и будет свободное время, прошу помочь сделать рабочий вариант. Delphi 7. Последний раз редактировалось grib_aga, 18.03.2013 в 13:29. |
#4
|
||||
|
||||
Код:
var f: TFileStream; b: String; v: String; begin v:='unit Unit1;'; f:=TFileStream.Create('Unit1.pas', fmOpenRead); try SetLength(b, 11); f.ReadBuffer(PChar(b)^, 11); if v=b then ShowMessage('Ok'); finally f.Free; end; end; Пишу программы за еду. __________________ |
Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
grib_aga (18.03.2013)
|
#5
|
|||
|
|||
NumLock, подскажи как прочитать первый байт файла и сравнить его с эталоном, например,
a := первый байт в файле; b := 01001101; if a = b then ShowMessage('Ok'); |
#6
|
||||
|
||||
Код:
var f: TFileStream; v: Byte; b: Byte; begin v:=$75; f:=TFileStream.Create('Unit1.pas', fmOpenRead); try f.ReadBuffer(b, 1); if v=b then ShowMessage('Ok'); finally f.Free; end; end; Пишу программы за еду. __________________ |
Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
grib_aga (18.03.2013)
|
#7
|
|||
|
|||
NumLock, спасибо(большое!), думаю последний вовпрос, как разложить байт на биты? Например, в целочисленный массив.
|
#8
|
||||
|
||||
проверкой младшего бита с помощью and 1 и циклическим сдвигом вправо shr 1.
Пишу программы за еду. __________________ |
#9
|
|||
|
|||
Цитата:
Спасибо! Проблема решена. |