![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Подтвердите свой е-майл
Регистрация: 07.04.2007
Сообщений: 120
|
![]()
Написал простую программу. Все работает кроме функции Convert1, почему она не работает?
Код:
Код:
String[10] равнослиен типу ShortString; Тип String в динамической памяти (почти как дин. массив), тип ShortString статический всегда равен 256 байт. Но что храниться по адресу @Str1 и @Str2 ? Вот еще код Код:
По идее Byte( @S1 ) должно быть равно 6, так как в строке 6 символов. |
![]() |
![]() |
![]() |
#2 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,856
|
![]()
Дело в том, что тип string сам является указателем на строку, т.е. если записать так:
Код:
Но, если при объявлении типа string мы явно указываем длину строки, то этот стринг работает как в TurboPascal - массив символов, в котором нулевой элемент содержит длину строки. Т.е. уже не указатель. Поэтому можно записать так: Код:
E-Mail: arigato.freelance@gmail.com
|
![]() |
![]() |
![]() |
#3 |
Подтвердите свой е-майл
Регистрация: 07.04.2007
Сообщений: 120
|
![]()
Спасибо, уже понятнее=)
Ещё один вопрос не могу найти в исходниках функцию Length, если на вести на неё и нажать ctrl+лкм то просто перекидывает в модуль System Поиском тоже найти не получается. Так и с некоторыми другими функциями. Как найти их код? И последнее =) Почему в первом примере Код:
Последний раз редактировалось Armorer; 10.02.2009 в 11:56. Причина: понял почему=) |
![]() |
![]() |
![]() |
#4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Рекомендую так: Код:
I'm learning to live...
Последний раз редактировалось Stilet; 10.02.2009 в 11:55. |
|
![]() |
![]() |
![]() |
#5 | |
Подтвердите свой е-майл
Регистрация: 07.04.2007
Сообщений: 120
|
![]()
То есть я никак не могу посмотреть как она и подобные функции реализованы?
Цитата:
Но всеже почему Convert2 работает, а Convert1 нет? Должны работать обе, по моему=) Код:
|
|
![]() |
![]() |
![]() |
#6 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Я никогда ТАК задачи не решал, как по мне это не лучшее решение. Цитата:
I'm learning to live...
|
||
![]() |
![]() |
![]() |
#7 |
Подтвердите свой е-майл
Регистрация: 07.04.2007
Сообщений: 120
|
![]()
Видимо никто не знает=)
Тогда еще вопрос по теме, почему возникает предупреждение компилятора Unsafe type 'PChar' ? возникает на строках вроде этой Код:
ProgramName - строковая константа. Как убрать это предупреждение и что оно означает? |
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 11.01.2009
Сообщений: 1,917
|
![]()
Не должно предупреждать ни о чем !
Можно текст "предупреждения" увидеть как можно полнее ...
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
|
![]() |
![]() |
![]() |
#9 |
Подтвердите свой е-майл
Регистрация: 07.04.2007
Сообщений: 120
|
![]()
Всё как я написал, выдает два Warning'a Unsafe type 'PChar'
Поискав в яндексе нашел, что это предупреждение означает, что под .NET данный код скомпилирован не будет. То есть если программу писать только под win, то на такой варнинг не надо обращать внимание. В Delphi6 такой же код ничего ничего не выдает, такое сообщение у меня появляется только в 7мом. Можно ли отключить только такие предупреждения? Я знаю только директиву {$WARNINIGS OFF} но она отключает все. |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 31.05.2007
Сообщений: 486
|
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
PChar | Роман Радер | Общие вопросы Delphi | 2 | 02.11.2008 18:50 |
String to PChar | D7_beginner | Общие вопросы Delphi | 2 | 21.11.2007 14:05 |
Access violation на строке вида StrLCopy(PChar(st1),PChar(st2),10); | malor | Общие вопросы Delphi | 1 | 11.07.2007 13:39 |
Добавление к pchar | EdNovice | Общие вопросы Delphi | 2 | 15.04.2007 17:00 |
Как из string получить PChar??? | sis | Компоненты Delphi | 4 | 11.02.2007 16:58 |