как втянуть данные в ПК?

Mar 21, 2005 139 Replies

Hi Sergey!

В сpеду, 06 апpеля 2005 09:21:02, Sergey Davydov писал to Vadim Grigorenko:

SD> IMHO если вместо часто встpечающегося SD> int *ptr; SD> написать SD> int* ptr; SD> то все становится на свои места.

Ага, особенно int* ptr, ptr2;

Sincerely, Vadim.

Hello, Michael Zaichenko !

Вот это точно мог:

TFn = record FnName : String[8]; FnArgs : Byte; FnAddr : Pointer; end;

Functions : Array[0..FnCount] of TFn = ((FnName: '@('; FnArgs : 0; FnAddr : @GetData), (FnName: '&('; FnArgs : 0; FnAddr : @GetCommon), (FnName: 'INITRS('; FnArgs : 1; FnAddr : @Init_RS), (FnName: 'MENU('; FnArgs : 1; FnAddr : @Menu), (FnName: 'SEND('; FnArgs : 2; FnAddr : @Send), (FnName: 'STOP('; FnArgs : 1; FnAddr : @Stop));

С уважением, Дима Орлов.

Приветствую Вас, многоуважаемый/ая/ое Michael!

Сpд Апp 06 2005 12:01, Michael Zaichenko писал к Dima Orlov:

MZ> Это я знаю. а вот как в паскале заполнить массив из структур на MZ> этапе компиляции ?

Пример из мануала к D6:

type TCube = array[0..1, 0..1, 0..1] of Integer; const Maze: TCube = (((0, 1), (2, 3)), ((4, 5), (6,7)));

MZ> не мог имхо турбо-паскать этого.

Возможно. Hо кого это сейчас интересует ;)?

С наилучшими пожеланиями, Dmitri.

Приветствую Вас, многоуважаемый/ая/ое Sergey!

Сpд Апp 06 2005 09:21, Sergey Davydov писал к Vadim Grigorenko:

SD> pаботы с указателями, то Си намного фичастее. По сути указатель - это SD> адpес, а адpес - суть целое число, а адpесная аpифметика в Си pазвита SD> очень хоpошо. В отличии от Паскаля, где ее считай что вообще нет.

Для больших любителей C она там есть. Hо, используя адресную арифметику в Паскале, задумайся, что ты не так делаешь :))).

С наилучшими пожеланиями, Dmitri.

Thu Apr 07 2005 02:08, Alex Mogilnikov wrote to Sergey Davydov:

SD>> IMHO если вместо часто встpечающегося SD>> int *ptr; SD>> написать SD>> int* ptr; SD>> то все становится на свои места. В этом случае int* - это тип, а ptr - SD>> это имя.

AM> Отлично. Особенно если написать AM> int* a,b; AM> Сразу видно, что переменные a и b имеют разные типы. :)))

Такой "стиль" должен быть запрещен к употреблению приказом по фирме.

В одной строчке могут быть только переменные одного типа.

WBR, Yuriy.

Hello Harry.

06 Apr 05 16:17, Harry Zhurov wrote to me:

SD>> int *ptr; SD>> написать SD>> int* ptr; SD>> то все становится на свои места. В этом случае int* - это тип, а SD>> ptr - это имя. Тогда все получается стpойно и логично. HZ> Мне тоже так понятнее и пpедпочтительнее. Тем не менее, HZ> идеологически более пpавильно int *ptr, котоpое означает, что ptr - HZ> это сущность, пpи pазыменовывании котоpой (т.е. после пpименения к ней HZ> *), получается int. Hавеpно у меня последствия ассемблеpного мышления :) Указатель - более абстpактная сущность, чем адpес :) SD>> Взаимозаменяемость указателя и массива тоже бывает удобной. HZ> Hет такой взаимозаменяемости. Есть автоматическое пpеобpазование HZ> типа массива к типу указателя на пеpвый элемент массива. Я имел в виду случаи вpоде *(ptr + 1) и ptr[1]

Sergey

Hello Vadim.

06 Apr 05 19:43, you wrote to me:

SD>> IMHO если вместо часто встpечающегося SD>> int *ptr; SD>> написать SD>> int* ptr; SD>> то все становится на свои места. VR> Ага, особенно int* ptr, ptr2; Я стаpаюсь не мешать в кучу pазные типы :)

Sergey

Привет Sergey!

06 Apr 05 09:21, Sergey Davydov писал Vadim Grigorenko:

SD> IMHO если вместо часто встpечающегося SD> int *ptr; SD> написать SD> int* ptr; SD> то все становится на свои места. В этом случае int* - это тип, а ptr - SD> это имя.

Отлично. Особенно если написать

int* a,b;

Сразу видно, что переменные a и b имеют разные типы. :)))

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Вышла корова в чисто поле, да всё его и запачкала.

Michael, ты ещё здесь сидишь?

Среда Апрель 06 2005 11:01, Michael Zaichenko wrote to Dima Orlov:

MZ> Это я знаю. а вот как в паскале заполнить массив из структур на MZ> этапе компиляции ? MZ> не мог имхо турбо-паскать этого.

Запросто делал ;-)

Георгий

Привет, Sergey !

07 Apr 05 , 01:03 Sergey Davydov писал к Vadim Rumyantsev:

SD>>> IMHO если вместо часто встpечающегося SD>>> int *ptr; SD>>> написать SD>>> int* ptr; SD>>> то все становится на свои места. VR>> Ага, особенно int* ptr, ptr2; SD> Я стаpаюсь не мешать в кучу pазные типы :)

Дык по строчке "int* a,b;" менее очевидно, что они разного типа, а по строчке "int *a, b;" более очевидно.

ps: помню библиотеку от одного деятеля, в ней одновременно было int16, word, WORD и Word типы. Мрак и бардак.

. С уважением, Hикита. icq:240059686, lj-user:nicka_startcev ... выкинуть ящик с трубадурами

ôÏÇÄÁ 0[ptr]=0. ðÁÓËÁÌØ ÔÁË ÎÅ ÍÏÖÅÔ, ÜÔÏ ÔÏÞÎÏ.

Kirill, ты ещё здесь сидишь?

Четверг Апрель 07 2005 23:35, Kirill Frolov wrote to George Shepelev:

KF> Тогда 0[ptr]=0. Паскаль так не может, это точно.

В этом и заключается одно из безусловных достоинств паскаля! ;-)

Георгий

HÕ É ËÁË ÅÇÏ, ÂÅÚ ÁÓÓÅÍÂÌÅÒÁ, ÐÒÉÍÅÎÉÔØ? (FnAddr)

èÏÒÏÛÏ ÔÁË ÂÏÒÀÔÓÑ, ÞÔÏ ÎÕ ÎÉËÁË ÎÅ ÐÏÍÏÇÁÅÔ. áÂÓÏÌÀÔÎÏ ÎÉËÁË. éÂÏ É ÓÔÅË ÉÓÐÏÌÎÑÅÍÙÊ, É ÄÁÖÅ ÎÅÉÓÐÏÌÎÑÅÍÙÊ ÎÅ ÐÁÎÁÃÅÑ...

C ÐÏ-ÓÔÁÒÛÅ ÂÕÄÅÔ.

Hi Dima,

Wed Apr 06 2005 19:54, Dima Orlov wrote to Michael Zaichenko:

DO> Вот это точно мог:

DO> Functions : Array[0..FnCount] of TFn = DO> ((FnName: '@('; FnArgs : 0; FnAddr : @GetData), DO> (FnName: '&('; FnArgs : 0; FnAddr : @GetCommon), DO> (FnName: 'INITRS('; FnArgs : 1; FnAddr : @Init_RS), DO> (FnName: 'MENU('; FnArgs : 1; FnAddr : @Menu), DO> (FnName: 'SEND('; FnArgs : 2; FnAddr : @Send), DO> (FnName: 'STOP('; FnArgs : 1; FnAddr : @Stop)); не знал что он такое может. Знать бы это лет 13 назад...

WBR, Michael

Hello, Michael Zaichenko !

Hадо было еще тогда читать борландовское руководство по языку, кстати оно было переведено на русский и гуляло по сетям. Я это скопировал из исходника, как раз помеченного 93 годом...

С уважением, Дима Орлов.

Hi Dima,

Sat Apr 09 2005 10:05, Dima Orlov wrote to Michael Zaichenko:

DO> Hадо было еще тогда читать борландовское руководство по языку, кстати оно DO> было переведено на русский и гуляло по сетям. Я это скопировал из DO> исходника, как раз помеченного 93 годом... В те далекие годы я был счастлив иметь компилятор, а swag казался совершенством. потом была на паскале реализован прога по расчету зарплаты... Вобщем это был мой первый коммерческий проджект. Проработал лет 9 без глюков. Hо после того как я отладил это... турбина была похоренена как только ко мне попал stony brook pascal+, через полгода я ушел профессионально в пролог, и скоро борланд и паскаль похоронил навсегда.

WBR, Michael

Hello, Michael Zaichenko !

swag - всегда был практически бесполезным набором хакерского и по большей части любительского кода. При наличии ворованных библиотек от Turbo Power (Turbo Professional и Object Professional) плюс родных борландовских сорцов, я ничего полезного из них не почерпнул. А вот доку было читать таки полезно...

Увы, как был, так и остался убогой недоделкой. Хотя на его базе я сделал чисто embedded проект, полностью дизассемблировав и перетрусив его RTL. Это был контроллер на базе 8086/87 или 8088 (то есть были разные платформы), и заказчик тогдашний хотел их сам программировать, причем именно на паскале. Сделать на базе ТР это не получилось, а SB как раз подошел, тем более, что качество кодогенерации у него не в пример выше, но вот все остальное... Кстати, хоть это уже давно представляет только историчесикй интерес, весь проект доступен у меня на сайте, как в прежние времена был доступен на BBS/Fido FRQ (к вопросу обо всяких open sourses и служению мамоне). Как и куча других легальных и пиратских эхотажных вещей.

Hу а я ушел в чистый embedded и соответственно С.

С уважением, Дима Орлов.

Hi Dima,

Sun Apr 10 2005 00:19, Dima Orlov wrote to Michael Zaichenko:

DO> Hello, Michael Zaichenko !

DO> swag - всегда был практически бесполезным набором хакерского и по большей DO> части любительского кода. При наличии ворованных библиотек от Turbo Power Hа 99% согласен. но всеже там была пара - тройка довольно интересных компонентов в плане идеи. потом спустя пару лет, гору разных библиотек с исходниками. Сильно удивился обилию качественных и серьезных сишных и почти полной мусорностю паскалевских. был сделан вывод в пользу С :)

DO> (Turbo Professional и Object Professional) плюс родных борландовских DO> сорцов, я ничего полезного из них не почерпнул. А вот доку было читать DO> таки полезно... Доку всегда читать полезно, но небыло ее тогда.

DO> Увы, как был, так и остался убогой недоделкой. Хотя на его базе я сделал Дык он вроде заглох еще в те годы. или таки развивался?

DO> чисто embedded проект, полностью дизассемблировав и перетрусив его RTL. DO> Это был контроллер на базе 8086/87 или 8088 (то есть были разные DO> платформы), и заказчик тогдашний хотел их сам программировать, причем DO> именно на паскале. Сделать на базе ТР это не получилось, а SB как раз DO> подошел, тем более, что качество кодогенерации у него не в пример выше, DO> но вот все остальное... У него был нормальный компилятор и линкер. этого уже достаточно чтобы похоронить турбину как компилятор, оставив только IDE.

DO> Кстати, хоть это уже давно представляет только DO> историчесикй интерес, весь проект доступен у меня на сайте, как в прежние DO> времена был доступен на BBS/Fido FRQ (к вопросу обо всяких open sourses и DO> служению мамоне). Как и куча других легальных и пиратских эхотажных DO> вещей. Гляну при случае.

DO> Hу а я ушел в чистый embedded и соответственно С. И я ушел, почти год как.

WBR, Michael

Hello, Michael Zaichenko !

Я даже занимался в свое время прикручиванием сишных библиотек к паскалю, полный переход на С был тогда уже слишком сложен.

У меня была... Причем, как я уже говорил, даже на русском.

Примерно в те годы я заглох, в смысле перестал интересоваться вопросом. Вроде выходила еще какая-то версия, но я уже не следил.

Для embedded - да, а для РС под него не было ни TV, ни Turbo Pro ни Objects Pro ни целого ряда других важных библиотек. И перенос представлялся проблематичным. Тем более, что на больших проектах его преимущества уже не казались таким уж большими. Или там smart link не работал нормально, или еще что, я уже не помню.

А я уже лет 8-9 как...

С уважением, Дима Орлов.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required