![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Хочу большие String-и:) [XP]
programmer90 © (2008-12-27 00:03:00)здравствуйте мастера!
Как извество длина строки типа string = 255 символов,в связи с этим вопрос:
мне нужна строка длиной 1000 символов, как посместить это в одну переменную строкового типа?
Спс всем!
Джо (2009-01-03 04:25:00) [1]Охох, закрываю. Все-таки, «начинающие» могут прочитать концовку ветки и впасть в тяжелое мозговое расстройство (AKA «сбиться с пути истинного») %)
Германн (2009-01-03 02:04:00) [2]
> Johnmen © (03.01.09 01:52) [28]
+1
Johnmen (2009-01-03 01:52:00) [3]
> Alien © (02.01.09 23:21) [26]
Вы тяжело бредите.
Нормальные люди вас не понимают...
Alien (2009-01-03 00:24:00) [4]Удалено модератором
Alien (2009-01-02 23:21:00) [5]я уже поправился вроде - стоит ли придираться к старому?
а я разве придумываю? просто на практике в СБ опробовал... Выводил в файл последовательность байт...
Вот, например, программа вывода в файл в СБ...
[code]:0
wait 0
if
0A9A: 0@ = openfile "test.exe" mode 0x77 // IF and SET (открываем файл для записи и одновременно проверяем на открытость - если не открыт, ждем)
004D: jump_if_false @0
1@ = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' // определяем переменную
0A9E: writefile 0@ size 1000 from 1@ // записываем в файл 1000 байт со смещением переменной 1@
0A9B: closefile 0@ // закрываем файл
0A93: end_thread[/code] // завершаем поток
Поскольку переменные 2@,3@,4@... неопределены, значения в них - нулевые биты...На переменную 1@ типа shot_string здесь отведено 32 байта(8 символов), в файле имеем
[code]ABCDEFGH [/code] и так далее - остаток - нулевые биты
Anatoly Podgoretsky (2009-01-02 23:07:00) [6]Твои слова
> Один символ - один байт
Чего же удивляешься, когда тебе говорят, что это не так и начинаешь придумывать дальше.
Alien (2009-01-02 23:00:00) [7]О каком языке мы говорим... И вообще char это вроде символ, а не строка... Когда мы объявляем переменные, в новом потоке создается ограниченный блок памяти, в который и заносятся значения этих переменных... Если мы запишем в строку больше символов, чем позволяет ее размер, то (если позволит компилятор) затрется часть памяти, отданной на другие переменные... О какой "нефиксированности" размера можно говорить?
Anatoly Podgoretsky (2009-01-02 22:55:00) [8]У char нет фиксированого значения, это производный тип.
Alien (2009-01-02 22:47:00) [9]Удалено модератором
Alien (2009-01-02 22:46:00) [10]это еще откуда??? открываем в hex-эдиторе любой текстовый редактор - получаем - двузнчное 16-чное число (то есть 4 байта) - один символ
[IMG] http://s45.radikal.ru/i109/0901/84/59ff38c04620.jpg[/IMG]
> ты опять перепутал. у меня 2 символа - три байта.
KilkennyCat (2009-01-02 22:41:00) [11]
> Действительно, перепутал... символ 4 байта=)
ты опять перепутал. у меня 2 символа - три байта.
KilkennyCat (2009-01-02 22:40:00) [12]
> просто записать в свободную область памяти эту последовательность
> символов, а в переменную записать сам адрес памяти
Гениально! нужно срочно написать об этом в codegear :)
Alien (2009-01-02 22:33:00) [13]Действительно, перепутал... символ 4 байта=)
DVM (2009-01-02 22:04:00) [14]
> Alien © (02.01.09 21:29) [14]
> Строка задается последовательностью символов. Один символ
> - один байт
Кто тебе сказал этих глупостей?
Alien (2009-01-02 21:55:00) [15]хорошо,щяз будим разбираться в регистрах-стеках=)
Anatoly Podgoretsky (2009-01-02 21:41:00) [16]Для ламеров по АСМ учебников нет, там все просто, архитектура процессора + система команд и дополнительно Макро Ассемблер.
http://www.podgoretsky.com/ftp/Docs/Asm/некоторая литература
http://www.podgoretsky.com/Redir.aspx?id=129&DownloadFile=~/ftp/Docs/Delphi/Podgoretsky/BasmForBeginners-ru.doc
http://www.podgoretsky.com/Redir.aspx?id=142&DownloadFile=~/ftp/Docs/Delphi/Podgoretsky/basmru.zip
Alien (2009-01-02 21:29:00) [17]Бугога! Строка задается последовательностью символов. Один символ - один байт ( итого 256 символов в табице ASCII)... Что мешает не создавать переменную размером 1000 байт, а просто записать в свободную область памяти эту последовательность символов, а в переменную записать сам адрес памяти. Потом просто считать определенное количество символов (байт) из памяти.
Вопрос: А вы тут Ассемблеру учите? Нигде не мог найти толкового учебника для ламеров
Джо (2008-12-28 15:32:00) [18]
> Ega23 © (28.12.08 10:03) [10]
> > В Делфи его (для типа string) — нет.{$H-} ?
Ну, зачем о высшей математике, когда автор еще в таблице умножения не разобрался? :)
Anatoly Podgoretsky (2008-12-28 12:20:00) [19]> AndreyV (28.12.2008 11:59:11) [11]
У контрабаса больше.
AndreyV (2008-12-28 11:59:00) [20]> [3] Jeer © (27.12.08 00:41)
> Скорее, инструмент давно не менял, угадал ?
Пора на бааальшую виолончель переходить.