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

Вниз

buf[0..2048]array of byte и buf array of bute;setlength(buf,204   Найти похожие ветки 

 
redlord   (2004-10-12 19:24) [0]

всем привет
народ объясните в чом разница между
buf[0..2048]array of byte
и
buf array of bute;setlength(buf,2048);
в первом случае все работает а во втором ошибка при обращении к адресу (при попытке использовать масив)


 
SammIk ©   (2004-10-12 19:26) [1]

А потомучто bute))


 
SammIk ©   (2004-10-12 19:27) [2]

А код есть?
Может ты используешь больше чем выделил


 
begin...end ©   (2004-10-12 19:28) [3]

SetLength(buf, 2049);

?


 
Суслик ©   (2004-10-12 19:29) [4]

привет разничу обяснить не смогу т к не знаю на каком языке ты пишеш а также незнаю какие ты принимаш попытки к спользованию масива если ты пишеш на дельфи то думаю что имело бы смысл написать вопрос окуратней без ошибок очепаток и прочей лабуды это как минимум привлечет внеманее к твоему вопросу и не будет выглядеть так отвратительно как сейчас по сути вопроса я пому предположить что в первом случае ты имел в виду массив а во втором динамический массив разница между этими конструкциями огромна думаю для начала надо почитать хелп привести код как ты используеш эти масивы главное понять что динамические массивы это по сути укозатель


 
begin...end ©   (2004-10-12 19:32) [5]


> [4] Суслик ©   (12.10.04 19:29)

Вижу, Вы Думу не послушались, употребили чего-то ;-))


 
SammIk ©   (2004-10-12 19:34) [6]

Бобрик- Это конечно так(указатель), но делфя берет на себя все это.
И програмеру не показывает это, НО из-за того, что это
указатель и возникают ошибки писанины ни туда.
Просто нужно чувак(redlord) следить за тем куда ты пишешь.
Я предпологаю что у тебя есть нечнто вроде:
buf array of bute;
...............
setlength(buf,2048);
................
for i:=0 to 5000 do<< Внимание сюда!!! Нет у тебя стольких элиментов
..............


 
SammIk ©   (2004-10-12 19:36) [7]

А насчет вопроса, сусел конечно прав.
Жутко написано, если на листе такая бадяга, то что в голове?


 
Суслик ©   (2004-10-12 19:36) [8]


>  [5] begin...end ©   (12.10.04 19:32)

а тебя такое небрежное отношение к постановке вопроса не заимало?


 
SammIk ©   (2004-10-12 19:37) [9]

Да, кстати если  сдесь
buf:array[0..2048] of byte;
...............
................
for i:=0 to 5000 do

Компилятор будет ругатся, то во втором случае НЕТ


 
Суслик ©   (2004-10-12 19:37) [10]


>  [7] SammIk ©   (12.10.04 19:36)

сусел!!
Это будет эволюция моего ника.

Зарекся я уже людей воспитывать, но не всегда удерживаюсь.


 
Суслик ©   (2004-10-12 19:38) [11]


> Компилятор будет ругатся

Не будет - все новички уже ассы - у них никогда range check error не включен


 
SammIk ©   (2004-10-12 19:39) [12]

Наверное НЕ Воспитывать?


 
Суслик ©   (2004-10-12 19:39) [13]


>  [12] SammIk ©   (12.10.04 19:39)


> Наверное НЕ Воспитывать?

Да, наверное. Как будет угодно.


 
SammIk ©   (2004-10-12 19:40) [14]

Серьезно?
А голова на что? Разве не упомнит? А?


 
SammIk ©   (2004-10-12 19:41) [15]

Какои поддатливый


 
Суслик ©   (2004-10-12 19:43) [16]


> Какои поддатливый

Да меня тут затюкали с моим русским языком. Вот и поддаюсь, чтобы не спорить.

------------------
Автору.
Пока вопрос нормально не поставишь, хрена лысого тебе кто-то что-то дельное ответит.


 
SammIk ©   (2004-10-12 19:50) [17]

Балбес автор(это справедливо), и скорее(100%) просто вышел за границы. Так что проверяи, а нам скажи был ли я прав. Так интересно узанть.
2 {16} Думаешь совет не поможет?)


 
Суслик ©   (2004-10-12 19:51) [18]


> 2 {16} Думаешь совет не поможет?)

нет


 
begin...end ©   (2004-10-12 19:53) [19]


> [8] Суслик ©   (12.10.04 19:36)


> а тебя такое небрежное отношение к постановке вопроса не заимало?

Расслабьтесь ;-)

Автора нету. Может, случилось чего?


 
SammIk ©   (2004-10-12 19:54) [20]

Автор, разьясните нашь спор. Уже просто очень интересно.
Дорогой сосел, как Вы думаете, что может быть акромя этого.
В данной(есесно) ситуации?


 
begin...end ©   (2004-10-12 19:57) [21]

Ставлю на выход за границы в виде: 2048 вместо 2049.


 
Суслик ©   (2004-10-12 19:58) [22]


> Дорогой сосел, как Вы думаете, что может быть акромя этого.
> В данной(есесно) ситуации?

за сосла в глаз :)) шутка, ну вы поняли.

Может быть например такое:
move(buff, .., 2048)
В первом случае будет все нормально.
Во стором вероятен AV


 
SammIk ©   (2004-10-12 19:59) [23]

Может на оборот? 2049 вместо 2048? Я про тоже.
Поздравляю, в нашем полку любопытствующих прибыло!!
-
А автор, походу умыл руки.
Ты не стесняйся, мы не обидем. Нам интересно!!


 
SammIk ©   (2004-10-12 20:01) [24]

И в-первом и во-втором стоит писать @buff.
Если мне не изменяет память, Вы уж судари простите, но
я за делфеи не сидел ужо пол года.


 
begin...end ©   (2004-10-12 20:01) [25]


> [23] SammIk ©   (12.10.04 19:59)


> Может на оборот? 2049 вместо 2048?

Ну это смотря с какой стороны посмотреть ;-) Короче, Автор: 2048 <> 2049.


 
SammIk ©   (2004-10-12 20:03) [26]

Не, скорее всего выделил он 2048, но где-то решил заглянуть дальше.
А хотя кто его знает)


 
Суслик ©   (2004-10-12 20:03) [27]


>  [24] SammIk ©   (12.10.04 20:01)

еще как изменяет вам память.
Неверная....


 
SammIk ©   (2004-10-12 20:05) [28]

мож я ее с movememory спутал


 
jack128 ©   (2004-10-12 20:12) [29]

SammIk ©   (12.10.04 20:03) [26]
а почему со стат массивом нормально проходит??? Мне импанирует вариант с Move(buf, ..); это классическая ошибка при работе с дин массивами, строками...


 
jack128 ©   (2004-10-12 20:15) [30]

jack128 ©   (12.10.04 20:12) [29]

ну то есть не обязательно Move, любая функция, где используются не типизированные параметры..


 
SammIk ©   (2004-10-12 20:15) [31]

Тогда второй вариант, выделил, гад, меньше чем нам сказал!!!
Обманывает он нас!!!


 
SammIk ©   (2004-10-12 20:16) [32]

Маиби


 
SammIk ©   (2004-10-12 20:17) [33]

У меня аж трубка погасла, пока я тут постил!(


 
Суслик ©   (2004-10-12 20:18) [34]


>  [33] SammIk ©   (12.10.04 20:17)

ты кочегарь, кочегарь анашу. Жалко, если пропадет.


 
SammIk ©   (2004-10-12 20:20) [35]

Опиум, курю я. Опиум!


 
GEN++ ©   (2004-10-12 20:28) [36]

Автора темы - в студию!


 
jack128 ©   (2004-10-12 20:29) [37]

Мдя.. Какое пиво?.. Тут опиум курят в обществ. местах. Форум - это ведь общественое место?


 
SammIk ©   (2004-10-12 20:30) [38]

НЕ в студию, а к стене. Все скажет в "последнем слове")


 
redlord   (2004-10-12 20:39) [39]

сори за длительное отсутствие
за очепятки тоже извентиляюсь :-)
(выше тройки по русскому у меня никогда не было)
цыкл в работе изпользуется

Fin:=tfilestream.Create(info[FnTotal].f,$0);//fmOpenRead);
 info[Fntotal].s:=Fin.Size;
  for n:=1 to Fin.size div 2048 do
 begin
 Fin.ReadBuffer(buf, 2048);  
 blockwrite(Fout,buf,2048,donewrite);
 application.ProcessMessages;
 end;
 Fin.ReadBuffer(buf,Fin.size mod 2048 );
 blockwrite(Fout,buf,Fin.size mod 2048,donewrite);
 application.ProcessMessages;
 Fin.Free;
...
closefile(Fout);
паток применен для возможности копирования самого себя.
вся эта каша применяется в проге паковщика файлов с возможностью само распаковки


 
jack128 ©   (2004-10-12 20:44) [40]

redlord   (12.10.04 20:39) [39]
blockwrite(Fout,buf,2048,donewrite);

Я угадал!!! :-)

blockwrite(Fout,buf[low(buf)],2048,donewrite);



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

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

Наверх




Память: 0.54 MB
Время: 0.033 c
1-1098258070
AlexanderXXX
2004-10-20 11:41
2004.10.31
Frame


4-1096011371
Boris
2004-09-24 11:36
2004.10.31
Работа с портами в Delphi 6


4-1095959084
Mazer
2004-09-23 21:04
2004.10.31
Как узнать права пользователя в Win2000/XP?


3-1096876375
cad2206
2004-10-04 11:52
2004.10.31
Сложение времени


1-1097594672
redlord
2004-10-12 19:24
2004.10.31
buf[0..2048]array of byte и buf array of bute;setlength(buf,204





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский