 |
shedevr.org.ru Группа перевода приставочных игр "ШЕДЕВР"
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
&ryu

Зарегистрирован: 09.10.2004 Сообщения: 259 Откуда: Город Юности
|
Добавлено: Чт Июн 29, 2006 2:45 pm Заголовок сообщения: VB, и последующие вопросы по исходникам ПП |
|
|
В общем, утром скачал исходники первого ПП. Откопал у себя на винте "пыльный" дистриб MS VB 6.0. Установил, загрузил исходники, посмотрел и подумал: "Наконец-то у меня будет фильтр "Все поддерживаемые форматы (включающий в себя *.nes, *.smd и т.п.", и вообще настрою ПП под себя!" Особо извращённых процедур я не заметил, но посидев ещё немного, я понял, что программисты, пишущие на VB, явно имеют задатки мазохистов (без обид ). Скроллер, и тот у меня не работает. Да и синтаксис языка мне не совсем понятен.
Ну и решил я попробовать переписать ПП под Делфи (я сказал ПОПРОБОВАТЬ!). Заодно и Делфи подучу, да и в Бэйсике чуток разберусь. Функций у него возможно будет поменьше (половиной я ни разу не пользовался), но уж под себя я его точно заточу . Распростронять его, или нарушать авторские права я не собираюсь.
Единственная загвоздка - это синтаксис VB. Чуть позже, я естественно, почитаю доки, но на счёт некоторых вещей я хочу спросить сейчас, да и спрашивать потом, именно здесь.
1. Что означает запись "Dim x As Long"? Я так полагаю, что данная запись эквиваалента Делфевской "x: LongString", то есть обьявление локальной переменной 'x', типа "Длинная строка", я прав?
2. Что такое "LOF" (как я понимаю Length Of File) и с чем его едят? _________________ "Человек сам вершит свою судьбу..."(Ричард Рал)
Последний раз редактировалось: &ryu (Чт Июн 29, 2006 4:43 pm), всего редактировалось 1 раз |
|
Вернуться к началу |
|
 |
Axel Советник

Зарегистрирован: 14.11.2003 Сообщения: 680
|
Добавлено: Чт Июн 29, 2006 3:00 pm Заголовок сообщения: Re: VB, и последующие вопросы по исходникам ПП |
|
|
&ryu писал(а): | Что означает запись "Dim x As Long" |
это означает Объявить пременную с именем x и типом Long
тип Long эквивалентен int32, в общем это ЧИСЛО...
Код: | Long (long integer) variables are stored as signed 32-bit (4-byte) numbers ranging in value from -2,147,483,648 to 2,147,483,647 |
предвидя еще вопросы на эту-же тему -
dim s as string - переменная типа char не определенной заранее длинны :)
&ryu писал(а): | Что такое "LOF" (как я понимаю Length Of File) и с чем его едят? |
да, функция LOF(номер_открытого_файла) возвращает длинну файла в байтах...
[edit]
и про какой такой скроллер ты говоришь ? :)
[edit2] &ryu писал(а): | Распростронять его, или нарушать авторские права я не собираюсь. |
какие глупости!, какие авторские права, расслабься...
я же вроде писал где-то, что единственное, что мне
нужно - это если будут внесены исправления (улучшения!),
то я бы хотел об этом знать... (может они и мне пригодятся ) _________________ Всех их вместе переведём!
Последний раз редактировалось: Axel (Чт Июн 29, 2006 5:10 pm), всего редактировалось 1 раз |
|
Вернуться к началу |
|
 |
&ryu

Зарегистрирован: 09.10.2004 Сообщения: 259 Откуда: Город Юности
|
Добавлено: Чт Июн 29, 2006 4:51 pm Заголовок сообщения: |
|
|
Про VB:
Ясно, надо искать сравнительную таблицу типов...
Про Скрол:
У меня листинг скролом не скролится! Ужась! :)
Про авторские права:
Сомневаюсь, что я буду вносить изменения, впрочем - кто знает?
Про "Попробовать":
Спасибо! Это, видать, "вино" на меня так действовало  _________________ "Человек сам вершит свою судьбу..."(Ричард Рал) |
|
Вернуться к началу |
|
 |
Axel Советник

Зарегистрирован: 14.11.2003 Сообщения: 680
|
Добавлено: Чт Июн 29, 2006 5:12 pm Заголовок сообщения: |
|
|
&ryu писал(а): | Про Скрол:
У меня листинг скролом не скролится! Ужась!  |
если это тот, что в генераторе таблиц ?
так, там его и нет...
ПП перекодирует несколько килобайт начиная с указанного смещения и всё... _________________ Всех их вместе переведём! |
|
Вернуться к началу |
|
 |
&ryu

Зарегистрирован: 09.10.2004 Сообщения: 259 Откуда: Город Юности
|
Добавлено: Чт Июн 29, 2006 6:11 pm Заголовок сообщения: |
|
|
Да нет Я имел ввиду MS VB 6.0 и Листинг программы. У окошка с листингом есть скролбар, но скролом(на мышке) он не скроллится... _________________ "Человек сам вершит свою судьбу..."(Ричард Рал) |
|
Вернуться к началу |
|
 |
Axel Советник

Зарегистрирован: 14.11.2003 Сообщения: 680
|
Добавлено: Чт Июн 29, 2006 6:25 pm Заголовок сообщения: |
|
|
&ryu писал(а): | У окошка с листингом есть скролбар, но скролом(на мышке) он не скроллится... |
это нормально, он ни у кого не работает...
(хочется скроооолить, ставь .NET ) _________________ Всех их вместе переведём! |
|
Вернуться к началу |
|
 |
&ryu

Зарегистрирован: 09.10.2004 Сообщения: 259 Откуда: Город Юности
|
Добавлено: Пт Июн 30, 2006 9:37 am Заголовок сообщения: |
|
|
Итак, с загрузкой ROM'a я разобрался.
Но вот с таблой...
Цитата: | Dim s As String
Dim x As Long
Dim charposition As String
Dim i As Long
TableComments = ""
ReDim myTransTable(0 To 255) As String 'почистим таблицу перед загрузкой
Open TableFileName For Input As 1
While Not EOF(1)
Line Input #1, s
x = InStr(s, "=")
If x > 0 Then
If Len(Mid(s, x + 1)) > 1 Then
Call DoLog("Предупреждение: Код " & Mid(s, 1, x - 1) & " соответствует нескольким символам") 'запишем в лог
End If
charposition = "&h" + Mid(s, 1, x - 1)
charposition = Val(charposition)
If myTransTable(charposition) <> "" Then
Call DoLog("Предупреждение: Код " & Mid(s, 1, x - 1) & " определен более чем один раз") 'запишем в лог
End If
myTransTable(charposition) = Mid(Mid(s, x + 1), 1, 1) ' берем ТОЛЬКО один первый символ
Else 'если мы не нашли символ "=", то считаем эту строку коментарием
' If ExtendedLogs = "YES" Then 'лучше пусть всегда показывает
TableComments = TableComments + s + vbCrLf
DoLog "Комментарий: " & s
' End If
End If
Wend
Close
For i = 0 To 255 'строка должна быть позиционируема
If myTransTable(i) = "" Then
myTransTable(i) = Chr(0)
End If
Next
myTransTableString = Join(myTransTable, "")
Call DoLog("Загрузили таблицу :" & TableFileName) 'запишем в лог
TableLoaded = True
End If
Exit Sub ' тут работа подпрограммы заканчивается |
- Что значит ReDim myTransTable(0 To 255) As String? Если Dim это обьявление переменной, то что тогда ReDim? Переобьявление? На кой?
- EOF(1) - а это что?
- x = InStr(s, "=") InStr - это что куда?
Аксель, ты не знаешь какого-нибудь электронного справочника для начинающих, с описанием простейших функций? Всмысле, где качнуть? Гугл не предлагать! [/list] _________________ "Человек сам вершит свою судьбу..."(Ричард Рал) |
|
Вернуться к началу |
|
 |
&ryu

Зарегистрирован: 09.10.2004 Сообщения: 259 Откуда: Город Юности
|
Добавлено: Пт Июн 30, 2006 9:58 am Заголовок сообщения: |
|
|
Скачал небольшой справочник по функциям (гугл рулит, как всегда )
Вопросы по EOF и inStr считать недействительными.
А вот про ReDim остался...
И ещё: Может посоветуешь какой-нибудь хороший учебник? Названия и автора будет достаточно, скорей всего...  _________________ "Человек сам вершит свою судьбу..."(Ричард Рал) |
|
Вернуться к началу |
|
 |
Axel Советник

Зарегистрирован: 14.11.2003 Сообщения: 680
|
Добавлено: Пт Июн 30, 2006 10:19 am Заголовок сообщения: |
|
|
&ryu писал(а): | Итак, с загрузкой ROM'a я разобрался.
Но вот с таблой...
- Что значит ReDim myTransTable(0 To 255) As String? Если Dim это обьявление переменной, то что тогда ReDim? Переобьявление? На кой?
- EOF(1) - а это что?
- x = InStr(s, "=") InStr - это что куда?
Аксель, ты не знаешь какого-нибудь электронного справочника для начинающих, с описанием простейших функций? В смысле, где качнуть? |
Начну с конца, видимо у тебя не установлен MSDN и потому родной VB'шный help не работает, так ?
тогда ты можешь нетрадиционно воспользоваться MS Office'ом
excel -->macros -->VB Editor ... Insert --> Module
а там пишешь нужный оператор ставишь на него курсор и жмёшь F1
(причем если это Office русский, то вероятно и хелп будет русский, хотя точно не скажу, проверить не на чем , в смысле у меня везде английский)
Так, теперь ReDim - эта конструкция позволяет переопределить размерность массива (о чем можно догадаться из названия)...
т.е. я должен в начале проги написать примерно так:
ReDim myTransTable() as string '! НЕ указывая ничего в размерности
зато потом я могу сколько угодно раз делать переопределение
ReDim myTransTable(0 To 255) 'НО уже указывая размерность
EOF(номер_открытого файла) - End Of File - функция возвращает True
если мы файл дочитали до конца...
While not EOF(1) 'пока не конец файла begin...
Line Input #1, s 'читаем из файла строку до следующего CrLf (0x0D0A)
x = InStr(s, "=") 'ищем есть ли в этой строке символ "="
функция Instr - возвращает позицию искомой строкИ в искомой строкЕ (где,что)... если не нашла, то будет НОЛЬ!
вся работа со строками в VB идет с ЕДИНИЦЫ...
эти "с нуля" и "с единицы" - самый большой и пожалуй, единственный
гимор в бэйсике, потому как часть функций (заимствованных у Си)
считают всё с нуля...
в общем, самое простое - это контекстный help, поставил курсор на оператор и жмёшь F1...
[edit]
*какой ты быстрый*
учебников не знаю... (чукча не читатель, чукча писатель... )
ReDim я использовал потому, что я тогда не знал сколько я *потом*
захочу иметь элементов в таблице перекодировки, но
после использовал такой алгоритм перекодировки (SBCS charset),
что больше чем 0-255 всё равно не получится использовать...
...переделка работы с таблицами была одной из причин появления ПП2...
[edit2]
алгоритм подготовки таблицы, кстати следующий... (судя по приведенному куску кода ... блин, два года прошло...)
есть массив myTransTable() в каждый его элемент я присваиваю символ (то, что ПОСЛЕ знака "равно" в таблице), а в КАКОЙ его
(массива) элемент присвоить говорит то, что написано ДО знака равно в таблице перекодировки (hex код)
далее я неприсвоенным элементам массива присваиваю chr(0)
это символ такой с кодом 0x00
и всё, таблица загружена...
как выглядит собственно перекодировка, напишу, когда ты туда дойдешь...  _________________ Всех их вместе переведём! |
|
Вернуться к началу |
|
 |
&ryu

Зарегистрирован: 09.10.2004 Сообщения: 259 Откуда: Город Юности
|
Добавлено: Пт Июн 30, 2006 5:59 pm Заголовок сообщения: |
|
|
Ясно
На счёт книги: я тут какую-то скачал, почитать ещё, правда, не успел...
Вобщем, ReDim мне не грозит У меня массив сразу будет динамический. Достаточно в обьявлениях написать: myTransTable: array of char :)
С instr тоже проблем нет. Функцию ей соответствующую, я знаю
Но вот с EOF... Я не помню ничего похожего... Утром гляну В крайнем случае как-нибудь выкручусь :)
Что касается:
Цитата: | эти "с нуля" и "с единицы" - самый большой и пожалуй, единственный гимор в бэйсике |
я с тобой, пожалуй, не соглашусь. Но, кстати, в Делфи есть похожие заморочки (это я про "ноли" и "еденицы") в разных типах для работы со строками. :)
Что касается хелпа: Я по-английски слабо врубаюсь. Так что лучше я пойду дальше читать "Гамлета" в оригинале, чем хелп от Майкрософта.  _________________ "Человек сам вершит свою судьбу..."(Ричард Рал) |
|
Вернуться к началу |
|
 |
Axel Советник

Зарегистрирован: 14.11.2003 Сообщения: 680
|
Добавлено: Пт Июн 30, 2006 6:47 pm Заголовок сообщения: |
|
|
ты не понял... массив myTransTable и есть динамический, НО
для перекодировки (в ПП1) я использую индексный метод, в том
смысле, что беру байт из рома (ЧИСЛО) - это и есть индекс
элемента в массиве myTransTable() содержащего нужный мне
СИМВОЛ (строку)...
для обратной перекодировки из текста в байты (в ром), я
склеиваю все символы из myTransTable() в одну строку,
а потом беру символ из строки текста и ищу в той длинной...
ПОЗИЦИЯ (в символах!) этого найденного символа и есть код (ЧИСЛО),
который нужно положить в RОМ...
поэтому как ни крути, получается, что SBCS перекодировка
реализуется ооочень просто (DBCS с небольшим гимором),
а MBCS ты вообще на этом алгоритме не сделаешь...
[маленькая сносочка ]
SBCS - Single Byte Character Set (однобайтовая кодовая страница),
где один символ всегда кодируется кодом от 0 до 255 (0-FF), характерные представители таких кодировок windows-1251, cp866
DBCS - Double Byte Character Set (двухбайтовая кодировка), где каждый символ всегда кодируется двумя байтами и может принимать
значения от -32767 до +65535 (0000-FFFF), характерный
представитель cp932(японская кодовая страница в MS Windows)
MBCS - Multy Byte Character Set... спроси Джинна про Shift-JIS или UFT-8 ;)
[и еще одна сносочка]
в VB строки хранятся в Unicode (utf-16), а при записи на диск
(или выводе на экран) перекодируются в кодироку платформы
(см. Windows Locale), поэтому обращай внимание, где я пишу СИМВОЛ,
а где БАЙТ... это НЕ одно и тоже...
(еще раз перечитай, что такое "char", может статься, что это не совсем то, что тебе будет нужно...) _________________ Всех их вместе переведём!
Последний раз редактировалось: Axel (Пт Июн 30, 2006 6:56 pm), всего редактировалось 1 раз |
|
Вернуться к началу |
|
 |
&ryu

Зарегистрирован: 09.10.2004 Сообщения: 259 Откуда: Город Юности
|
Добавлено: Пт Июн 30, 2006 6:55 pm Заголовок сообщения: |
|
|
Да нет, я понял
Просто имел в виду, что не люблю заранее определённый размер массива.
К тому же в ПП, насколько я знаю, только SBCS используется...
А за инфу спасибо, тебе бы действительно справочники писать :)
Про Shift-JIS: что-то не хочется...  _________________ "Человек сам вершит свою судьбу..."(Ричард Рал) |
|
Вернуться к началу |
|
 |
Axel Советник

Зарегистрирован: 14.11.2003 Сообщения: 680
|
Добавлено: Пт Июн 30, 2006 6:59 pm Заголовок сообщения: |
|
|
именно из-за алгоритма перекодировки ПП1 не разрешает писать
в таблице больше одной буквы (символа) после знака равно...
(в ПП2 я эту незадачу устранил...) _________________ Всех их вместе переведём! |
|
Вернуться к началу |
|
 |
&ryu

Зарегистрирован: 09.10.2004 Сообщения: 259 Откуда: Город Юности
|
Добавлено: Сб Июл 01, 2006 4:21 pm Заголовок сообщения: |
|
|
Вобщем написал, кривовато правда, но написал Это я про загрузку таблицы
Пара вопросов:
Твой ПП открывает файл с таблицей как бинарный, или как текстовый файл?
А то мне пришлось как текстовый его открывать (артачился, млин)...
Char использовать не стал. Сделал массивом String'ов.
Не сделал пока исключительные ситуации и компановку в одну строку. Ну и забивание массива нолями
Вобщем альфа-версию процедуры сваял :)
Осталось протестить. Пока сделал в цикле вывод в лог значений CharPosition и myTransTable[i].
Как ни странно, всё сходится :)
P.S. Поставил сегодня "Delphi 8 Architect Edition". Ужас! Этот монстр в одну харю загнал мой комп в даун (я конечно понимаю, что мой комп ещё лет пять назад считался ниже среднего...), и это при том, что у меня вполне неплохо уживаются Delphi 7, VB 6, Foxit PDF reader, Delphi World, WinAMP, Firefox, Trillian, Thunderbird и ещё куча приложений!!!
К тому же конструктор форм сильно мне напомнил VB...
Вобщем, ".NET" мне не нужен  _________________ "Человек сам вершит свою судьбу..."(Ричард Рал) |
|
Вернуться к началу |
|
 |
Axel Советник

Зарегистрирован: 14.11.2003 Сообщения: 680
|
Добавлено: Сб Июл 01, 2006 8:40 pm Заголовок сообщения: |
|
|
ПП1 открывает файл с таблицей как текстовый, а файл с игрой как двоичный... (однако, ПП2 читает таблицу как двоичный файл и догадывается в юникоде ли она или нет и далее поступает соответственно)
для ВЫнимания текста из игры тебе НЕ нужна таблица перекодировки в виде одной строки и присваивать нули 0x00 пустым элементам массива не нужно и даже вредно...
(ты даже можешь писать больше одного символа после знака равно...
только имей ввиду, что перекодировать обратно (вернуть текст в игру) ты не сможешь, не придумав своего алгоритма для перекодировки из текста в байты... _________________ Всех их вместе переведём! |
|
Вернуться к началу |
|
 |
&ryu

Зарегистрирован: 09.10.2004 Сообщения: 259 Откуда: Город Юности
|
Добавлено: Вс Июл 02, 2006 3:07 am Заголовок сообщения: |
|
|
Да, про считывание больше чем одного символа после "равно" я уже думал... И о том, чем это чревато для вставки текста... _________________ "Человек сам вершит свою судьбу..."(Ричард Рал) |
|
Вернуться к началу |
|
 |
&ryu

Зарегистрирован: 09.10.2004 Сообщения: 259 Откуда: Город Юности
|
Добавлено: Вс Июл 02, 2006 3:18 pm Заголовок сообщения: |
|
|
Вобщем сегодняшний день прошёл впустую, т.к. я заболел
За Делфи сел буквально на пять минут, до тех пор, как он стал ругаться на несовместимость типов Byte и String (это я пытался из массива ROM считать первый байтик в строку s)
Кстати, а нафига нам вообще грузить ROM?
Axel писал(а): | ПП1 открывает файл с таблицей как текстовый |
И в то же время ты с помощью функции Mid считывал из неё байт до равно, и байт после. А мне пришлось ДВА символа до, и один после...
Вобщем надо думать... Возьму завтра на работу книгу по Делфи, может откапаю что-нибудь интересное... Впрочем, это врядли... _________________ "Человек сам вершит свою судьбу..."(Ричард Рал) |
|
Вернуться к началу |
|
 |
Axel Советник

Зарегистрирован: 14.11.2003 Сообщения: 680
|
Добавлено: Вс Июл 02, 2006 4:20 pm Заголовок сообщения: |
|
|
&ryu писал(а): | ...делфи стал ругаться на несовместимость типов Byte и String (это я пытался из массива ROM считать первый байтик в строку s)  |
это, какраз то, что я говорил... в делфи всё тоже самое БАЙТ это НЕ СИМВОЛ(буква) и для преобразования из строк в байты и наоборот есть спец функции...
вообще говоря байт - это число, поэтому ты можешь использовать функцию вроде VB'шной CHR(число), она вернёт тебе "строку"
для преобразования символа в байты (строка --> число) есть другая функция - ASC(строка) или ASCW...
&ryu писал(а): | Кстати, а нафига нам вообще грузить ROM? |
доступ к оперативной памяти в разы быстрей дисковых операций...
&ryu писал(а): | Axel писал(а): | ПП1 открывает файл с таблицей как текстовый | И в то же время ты с помощью функции Mid считывал из неё байт до равно, и байт после. А мне пришлось ДВА символа до, и один после... |
нет, функция MID работает со строками (вырезать из строки подстроку,начиная_с_позиции, длинной_столько-то)
ты просто заблудился в её необязательных параметрах :)
x содержит позицию "=" в строке s (x = InStr(s, "=")
сначала кусаем от неё с позиции 1 до x -1 (исключая сам "=")
(обычно в таблице перекодировки ДО знака равно будет пара байт(букв)... совсем я тебя запутал )
пример:
вот "41" это строка из пары букв её-то я и откусываю...
то, что откусили (строку) переводим в число, для этого есть функция VAL(строка)... чтобы она поняла, что "41" это в хексах,
в VB надо приклеить с этой строке "&h" (получится ...=VAL("&H41") )
Код: | charposition = "&h" + Mid(s, 1, x - 1)
charposition = Val(charposition) |
ну а потом кусаем один символ после знака равно:
Код: | myTransTable(charposition) = Mid(Mid(s, x + 1), 1, 1) ' берем ТОЛЬКО один первый символ | другими словами
myTransTable(charposition) = Mid(всё_что_после_равно, 1, 1)
'с первой позиции всего_что_после_равно откусить 1 символ :)
[edit]
стал вчитываться и увидел, ошибочку в своём коде...
ЛИБО переменная charposition должна быть объявлена как Variant
либо должна вылезать ошибка преобразования типов...
вот тут --> charposition = Val(charposition)...
...либо я нифига не понимаю почему написанное срабатывает...  _________________ Всех их вместе переведём! |
|
Вернуться к началу |
|
 |
&ryu

Зарегистрирован: 09.10.2004 Сообщения: 259 Откуда: Город Юности
|
Добавлено: Вс Июл 02, 2006 4:53 pm Заголовок сообщения: |
|
|
У меня мозг почти не работает, поэтому по-порядку:
1. Функция Mid читает БАЙТ, так?
Я использовал функцию copy(файл, начало, кол-во символов), она считывает символы.
2. Axel писал(а): | доступ к оперативной памяти в разы быстрей дисковых операций... |
Я пошутил... :)
3. Вобщем, привожу листинг процедуры загрузки таблы:
Цитата: | Var
TableFileName: string;
myTransTable: array of string;
-------------
procedure TMainForm.ReadTBLfile(Sender: TObject);
var
s,charposition: string;
i,x: integer;
F: textfile;
begin
if opendialog.Execute then //Запускаем диалог...
begin
SetLength(myTransTable,256); //Устанавливаем размер массива...
assignfile(f,opendialog.FileName); //Ассоциируем файл с файловой переменной...
reset(f); //открываем файл для чтения
while not eof(f) do //ну с этим-то трабл нет
begin
readln(f,s); //Читаем строку в переменную "S"
x:=pos('=',s); //Ищем "Равно" в строке "S"
charposition:= copy(s, x-2, 2); //Читаем ДВА Символа до знака равно...
i:=StrToInt('$'+charposition); //Переводим значение "charposition" в числовое, с присвоением его переменной "i"
myTransTable:= copy(s,x+1,1); //Заносим в элемент массива под номером "i" символ после знака "равно"
mainform.LogText.Text:=logtext.Text+charposition+'='+myTransTable+#13#10; //Пишем в Лог (это я использовал для проверки )
end;
end;
end; |
Axel писал(а): | для преобразования из строк в байты и наоборот есть спец функции... |
Вот их-то я завтра и буду искать  _________________ "Человек сам вершит свою судьбу..."(Ричард Рал) |
|
Вернуться к началу |
|
 |
Axel Советник

Зарегистрирован: 14.11.2003 Сообщения: 680
|
Добавлено: Вс Июл 02, 2006 5:04 pm Заголовок сообщения: |
|
|
&ryu писал(а): | У меня мозг почти не работает, поэтому по-порядку:
1. Функция Mid читает БАЙТ, так? |
нет, она возвращает строку...
кстати, integer (int16) тебе может не зватить... это только +-32767...
по идее тебе нужен longint
(пусть Хаос или Джинн меня поправят..., как там в дельфи это правильно называется...)
[edit]
что-то мне вот это не нравится:
...:=StrToInt('$'+charposition);
у тебя-же вроде "#" признак hex'а... не поверю, что дельфи такой не последовательный... _________________ Всех их вместе переведём! |
|
Вернуться к началу |
|
 |
&ryu

Зарегистрирован: 09.10.2004 Сообщения: 259 Откуда: Город Юности
|
Добавлено: Вс Июл 02, 2006 5:20 pm Заголовок сообщения: |
|
|
Axel писал(а): | кстати, integer (int16) тебе может не зватить... это только +-32767...
по идее тебе нужен longint |
Я об этом думал, когда начал переписывать ПП
Сверевшись со справочником, я выяснил, что в Делфи:
Integer: -2147483648...2147483648 Signed 32-bit
и LongInt: -2147483648...2147483648 Signed 32-bit
Не обнаружив в них никакой разницы, я начал юзать Integer (привычнее).
А теперь, я ещё знаю, что "Integer" из VB равен "SmallInt" из Делфи (-32768...32768 signed 16-bit) :)
Вот такие пироги :)
[edit]
Всё ОК. Не знаю как это обьяснить, но всё в порядке Для указания, что строка является HEX, используется "$", а почему там "#" я, если честно, не знаю.. _________________ "Человек сам вершит свою судьбу..."(Ричард Рал) |
|
Вернуться к началу |
|
 |
Djinn RRC2008


Зарегистрирован: 16.03.2004 Сообщения: 633 Откуда: Москва
|
Добавлено: Пн Июл 03, 2006 6:24 am Заголовок сообщения: |
|
|
Axel писал(а): | кстати, integer (int16) тебе может не зватить... это только +-32767...
|
integer = int16 только в турбопаскале. В делфи integer = int32
А $ всегда был признаком хекса ещё со времён паскаля. А # - это признак символа. |
|
Вернуться к началу |
|
 |
HoRRoR RRC2008


Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Вт Июл 04, 2006 4:23 pm Заголовок сообщения: |
|
|
Вчера вот скачал исходники ПП, все никак не пойму - почему я не сделал этого раньше?
Уже второй день активно черпаю знания и сделал для себя открытие - эта программа написана не на сверх языке, который за гранями моего понимания, а на таком же земном бейсике, на котором пишу я!
Лучше бы вместо этих всяких тупых учебников выпускали сборники исходников подобных программ. Сегодня вот благодаря исходникам ПП накатал прогу, сортирующую строки в таблице символов по длине после знака "=".
Короче, огромное спасибо Акселю за исходники. |
|
Вернуться к началу |
|
 |
Axel Советник

Зарегистрирован: 14.11.2003 Сообщения: 680
|
Добавлено: Вт Июл 04, 2006 10:17 pm Заголовок сообщения: |
|
|
HoRRoR писал(а): | Вчера вот скачал исходники ПП, все никак не пойму - почему я не сделал этого раньше? |
вот это похвально
(не то, что скачал, а то, что не поленился, и посмотрел что внутри )
кстати, вот АнС считает, что все проги должны быть написаны на С++
ну на худой конец на просто Си :)
а я ему всё толдычу, что в проге главное - это то, что она работает,
а на чем написана, совершенно не имеет значения...  _________________ Всех их вместе переведём! |
|
Вернуться к началу |
|
 |
АнС RRC2008


Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Вт Июл 04, 2006 10:44 pm Заголовок сообщения: |
|
|
Axel писал(а): | кстати, вот АнС считает, что все проги должны быть написаны на С++
ну на худой конец на просто Си  |
Ээа, я так не говорил!!  |
|
Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
Powered by phpBB © 2001, 2005 phpBB Group
|