Просмотр полной версии : Turbo Pascal 7.0
Я предлогая посвятить эту тему языку Турбо Паскаль 7.0 . Потому что на нём учат программировть в школах и в некоторых универах насолько я знаю.То есть темка полезная.
Мой вопрос:
1.Как в этом паскале работать с сетью по протоколам TCP\IP Вроде что-то в этом духе для борланда есть ,а для турбо не подскажите чего-нибудь ?
2.И предлогаю текстовый квест замутить !)))
Linuxoid
03-10-2007, 10:02
Забудь про Turbo Pascal. Сейчас рулит его свободная реализация - Free Pascal. Там гораздо больше возможностей. Лучше его освой. И окнные программы писать сможешь, и легко их переносить с одной ОС на другую.
Linuxoid
03-10-2007, 12:55
Если в Turbo Pascal - согласен, извращение. А если во Free Pascal, где возможностей и поддерживаемых платформ на порядки больше... ;)
Забудьте про паскаль, он мертв.
Linuxoid
03-10-2007, 17:34
Расскажешь дельфикодерам и тем, кто производит обучение программированию.
Они тебя выслушают с интересом. ;)
Я бы с удовольствием перешёл на фри паскаль .Но у меня есть литература только на турбо .И привык я на нём.И есть модуль минимальной работы с ТЦП\ИП его надо просмотреть,там ошибка какая-то.В справке написанно как использовать "externel" и в модуле всё по правилам написанно,только почиму-то в этом месте{o} просит ";" поставить.
Function GetLastErrorFromWinSock
:Integer; far; external {o}'WINSOCK' index 111;
Может кто поможет разобраться у кого опыт есть.А вот сам модуль с исходняками и примерами прог.И др.
manhatan
04-10-2007, 02:27
дигл, переходи на си++ они практически не чем не отличаються только си больше вазмлжности
manhatan
04-10-2007, 02:28
библиотеки только разные вроде
Linuxoid
04-10-2007, 17:34
Синтаксис Turbo Pascal и Free Pascal идентичен.
Документацию по функциям в библиотеках найти в можно. Самое главное - синтаксис, а не функции в библиотеках.
Turbo Pascal отжил своё. На смену ему пришёл Free Pascal. Даже почти такая же, как и в Turbo Pascal, там среда разработки. Так что лучше прекрати насиловать труп. DOS практически вымер. А программы на Turbo Pascal больше нигде не работают, в отличие от Free Pascal.
Но кроме этого компилятор Free Pascal используется в весьма перспективном проекте Lazarus. Это убийца Delphi, превосходящий последний по кроссплатформенным возможностям на порядки.
Ничего себе ничем не отличаются.
Между прочим C и C++ - разные языки. C - язык почти что низкого уровня. Pascal - язык высокого уровня. Оба функциональные. А C++ вообще непонятно какой (то, что он ООП ЯП - сказать мало).
Linuxoid
04-10-2007, 17:45
manhatan
04-10-2007, 17:50
ошибаешься, единчтсвенная в чем я разницу заметил это правописание библиотек пример:
include<iostteam.h> с
include<iostteam>с++
этот язык уже официально называется дельфи, а не паскаль
manhatan
04-10-2007, 17:55
си это не язык низкого уровня!!!!!!!!!
по большому счету кросплатфоременность ни в куй ни кому не уперлась;)
Linuxoid
04-10-2007, 18:02
А разве в паскале можно объявлять переменные где угодно и тем самым разводить срачь в коде и оптимизировать работу с памятью?
Этот язык называется Object Pascal, умник. Delphi - среда разработки.
Я конечно понимаю, что там есть элементы, присущие языкам высокого уровня, но после ассемблера по иерархии идёт именно C. Он позволяет производить низкоуровневые операции собственными средствами. Паскаль это не умеет (ассемблер - это не паскаль).
Так что C - язык наполовину низкого уровня.
Linuxoid
04-10-2007, 18:03
Ты поразительно неправ. Не хочу показаться нескормным, но тут прав я и только я. Иначе не было бы Qt, Java и т.д.
Linuxoid
04-10-2007, 18:07
Deagle, вывод сообщений компилятора в студию.
manhatan
04-10-2007, 18:07
для меня паскаль это как учеббник для си++
Linuxoid
04-10-2007, 18:09
У паскаля и C++ (и C тоже) синтаксис отличается очень сильно.
У паскаля он жёстко привязан к одному стилю. У C и C++ (надеюсь, ты в курсе, что C и C++ совершенно разные языки, но с похожим синтаксисом) синтаксис свободный в отношении оформления программы.
manhatan
04-10-2007, 18:11
ты не понимаешь суть, и что тольку в синтаксисе, это не самое главное
Linuxoid
04-10-2007, 18:15
Я суть прекрасно понимаю. А синтаксис очень важен. На примере сравнения паскаля и C++ это хорошо видно.
В C и C++ переменные объявлять можно где угодно, да и синтаксис циклов более гибкий.
Кроме того объявление функций отличается.
Это совсем другое мышление. А писать в C++ программу на паскале не есть гут
Я попробую поставить точку в этом споре.Так как читал статью от двух разработчиков ,который разработал Паскаль (кстати он не только паскаль разрабатывал) и того кто Си придумал .Так вот .Создатель Си признался что по своей сути они почти одинаково устроенны .В статье было написанно что паскаль был создан для обучения и до последнего момента разрабатывался как язык для методистов ,язык обучения лишь борланд стал что то между комерчиским использованием и методическим ,а Обджекты паскали уже стали ориентированны на комерцию.
А Си в свою очередь разрабатывался для системного программирования и было решено ,чтобы синтаксис не сильно отличался от уже устоявшегося в программировании.Поэтому мы и имеем то что имеем.
Теперь насчёт ошибки.Ошибка стандартная "Ожидал ";"" или по английскому
ERROR 85:";" expacted.
Ниже скрин.А что у себя на компиляторе не проверишь ?
s.p.a.m.e.r
04-10-2007, 23:24
точку с запятой просит ваще то :rolleyes:
ManInXRay
05-10-2007, 00:18
Вот по чего я скучаю иногда, работая в последнее время на C#, так это по Object Pascal-ным шикарным конструкторам, которые как обычные процедуры можно вызывать, и которые могли быть даже виртуальными.
А на Turbo/Borland Pascal доводилось графическую библиотеку писать, пример проги на ней прилагаю (вложенный файл - архив в формате WinRAR).
P.S.: Йэх, кааак молаады мы быыыли, как молады мы быле)) И полны творческого неоплачиваемого энтузиазма :D
народ, у кого турбо дебаггер есть? очень надо ))
Linuxoid
05-10-2007, 00:23
У меня не винда. А там, как я вижу, используются виндовые функции.
Хм... А что именно пишет? Сама ошибка компилятора как выглядит?
Linuxoid
05-10-2007, 00:25
Что именно собираешься там делать?
Максимум что могу сделать это названия файлов в архиве прочитать ,расшерения менял ,не помогает.Может ты поможешь с модулем,он вверху.Посмотри ошибку может найдёшь ,подскажешь чего-нибуь.
Ну как обычно .Я написал .Это выводит вверху в красной рамке.Обычная стандартная ошибка типо.Я и в борланде пробовал ,всё так же.
Я и ключь компиляции пробовал ставить {F-} ,{F+} дальний тип вызова .
читал тему.Смеялся долго. :)
в дс седня видел у кого-то поиск врубай
знал бы ты скока первашей обращается с задачами на Pascal:) :) :)
Знаю, сам 8-9 лет назад учил :)
Это не совсем задача,здесь надо помочь найти где исправить уже в существующим модуле.Не я его писал !А американец какой-то.
{************************************************
* *
* TCP Device Unit *
* *
* Interfacing the WinSock Library for Pascal *
* *
* Copyright (c) 1998 Robert Morewood *
* (morewood@planeteer.com) *
************************************************}
Да есть одна досовая программка, проверку одну убрать надо
Object pacal был до 7 дельфей, потом его официально переименовали умник :)
не хочу поразится не скромным но назови мне написанные на той же джаве серьезные приложения типа erp систем, scada систем и т.п.
Насколько я знаю из документации по паскалям к Object pacal относится и дельфи ,фри паскаль и тмт вроде .Борланд -это не доделанный обджект паскаль .
В иерархии развития так написанно
турбо паскаль-> борланд паскаль->Обджект паскаль-Дельфи,фри,тмт и др.
Вообще тема не про это.Какая хер разница какой язык круче,какой что делайт и из какой ямы вылез.Здесь в этой теме ,коткретная задача стоит,о которой написанно в самом верху.
Скажу что я понял из этой темы.
Я изучаю Турбо Паскаль и правильно делаю по следующим причинам.
- Язык изначально задумывался и был создан ,и разивался (до турбо паскаля 7.1) чисто для методических целей,его синтаксис прост и понятен.
- Турбо Паскаль это база знаний о паскале,поэтому не жалко выучить полностью ,да и учить то там честно сказать не много.
- Он полностью (как кто-то написал выше) совместим с 32-х битным компилятором Фри паскаль(который почти дельфи),что не припятствует и даст простой переход на Фри.
- Так как в нём нет! объектов ,то нет искушения вставлять в свои программы уже готовые отрезки программ(обектов) .Приходится создавать их самому.Программу полностью приходиться писать с нуля,что в свою очередь крайне полезно при обучении.
Спасибо всем тем кто хоть что -то полезное написал.Но если в теме опять начнётся флуд ,я её зарою .
P.S.Похоже как всегда придётся решать всё самому.
Linuxoid
05-10-2007, 16:47
MAUD, Eclipse. Могу ещё вспомнить.
Linuxoid
05-10-2007, 16:51
Думаю, тебе подойдёт Turbo Debugger или SoftIce
Linuxoid
05-10-2007, 16:54
Странно. Borland представляла его как серьёзную среду разработки. Для методических целей был создан паскаль, а не турбо паскаль.
Я не писал, что FreePascal полностью совместим с Turbo Pascal. У них идентичный синтаксис. Дело в том, что библиотеки в Turbo Pascal и Free Pascal разные.
А теперь вот что. Внимательно прочитай документацию к модулю и попробуй скомпилировать, подставив туда точку с запятой (мало ли?).
Также посмотри в документации по Turbo Pascal (есть в самой среде разработки, причём довольно хорошая и удобная), что такое external и с чем его едят.
когда вы говорите такое впечатление что вы бредите.
какие методические цели? какое отсутствие объектов? что тако тогда турво-вижн шедший в 7.0
Linuxoid
05-10-2007, 16:57
Жалкая пародия ncurses :)
малоизвестные и непонятные софтины:D
некорректное сравнение. ncurses дорабатывается и по сей день
manhatan
05-10-2007, 17:26
выкладывай всю прогу я пасмарю где ошибки
Linuxoid
05-10-2007, 17:36
Ню ню. Пуп земли ты наш.
MAUD используют для обработки данных, полученных рентгеноструктурным анализом.
А Eclipse - крайне широкоизветсная среда разработки для Java, C и C++.
Linuxoid
05-10-2007, 17:37
Он выложил. Там выше он файл с исходниками модуля выложил.
смотрел я эти файлы. ошибок там нет. это древность, читай документацию к коду
ищи код поновее)))
причом тут среда разработки?
я тебя просил привести пример другого рода продукты.
а гордится тем что линух/с/чтото еще круче просто потому что круче- глупо.
ит уже не вещь в себе и должна решать конкретные задачи
9.5.2. Использование DLL
Для использование подпрограмм из DLL необходимо описать их как внешние, добавив за словом External имя библиотеки в апострофах:
Procedure MyProc; Far; External 'MyDLL';
Обратите внимание: перед External нало обязательно указать Far. в противном случае компилятор потребует поставить точку с запятой после слова External. Как уже говорилось, подпрограмма вызывается по имени или по индексу. В нашем примере из библиотеки MyDLL вызывается подпрограмма с внешним именем 'MYPROC'. Если нужно сослаться на индекс подпрограммы, за именем библиотеки указывается слово index и индекс:
Procedure MyProc; Far; External 'MyDLL' index 2;
В этом случае имя, под которым подпрограмма будет известна программе, может не совпадать с ее внешним DLL— именем. Впрочем, программист может и явно переопределить имя подпрограммы, даже если он ссылается на ее внешнее имя:
Вот что в интернете нашёл.Но ,заметте .Фар то стоит .А почиму всё таки просит точку с запятой ?))))
мдя....
прогеры блин...
один 4курсник, другой "одмин" (Дима извини, но такое впечатление сложилось)...
ппц... и что вы хотите доказать друг другу...
Linuxoid
06-10-2007, 10:15
Ну ты блин даёшь. Разве программы должны быть исключительно такого типа, про который ты пишешь.
И где тут я про линукс написал относительно темы языков программирования?
Ну ты, блин, даёшь.
Linuxoid
06-10-2007, 10:17
Тебе уже выше два раза писали документацию по модулю почитать. Посмотри, с какими версиями Turbo Pascal там идёт совместимость. А может вообще баг в Turbo Pascal.
P.S.
Ты что изучаешь: паскаль или этот сдохший модуль, который вонять уже начал мертвечиной?
Так я и говорю, дайте мне кто-нить турбо дебаггер!!!!!!
Три танкиста
06-10-2007, 11:06
Скорее всего баг. Я в си++ борландовском 3.1 нашел баг, после которого он вылетает. 5.0 уже нет.
посмотрел документацию:
TCP_Unit Documentation File
---------------------------
This unit was written by Rob Morewood (morewood@planeteer.com)
for classroom use at Burnaby South Secondary School (south.sd41.bc.ca)
with Turbo Pascal for Windows 1.5:)
Сорри.Я Енглиш хелп не читал ))Но в русском написанно, что и в борланде 7 можно )Я даже нашёл в инете что там надо платформу поменять для компиляции и типо всё проканает ,типо такое уже было)))
options->compiler->Compiler settings for:(Protected mode target) или (Windows target)
Этот же модуль школьный учител накодил ,там есть ссылка на страничку школы.Кльёвая она у них ,мне понравилась)) Вот ссылка "south.sd41.bc.ca ".Так если приглядется ,то ощущение ,что где то у нас эта школа находится )))Где то за углом )))
пишу на delphi лет 9-10 уже, по работе пришлось делать крупный проект на C для микроконтроллера. проблем не вызвало... мой вывод - если знаешь хорошо один язык программирования, на других писать труда не составит. всё равно, что из одной машины в другую пересаживаться, сначала непривычно, потом нормально (водить то все равно умеешь).
сорри за то что не по теме
о Госспади, ну и чушь пишете... какой паскаль? зачем? сравнить с тем же самым с++. Так с++ это же не сравнить с паскалем-одна эстетика записи цикла чего стоит...Как хошь так и пиши.. Переменную где захотел там и объявил а не надо каждый раз бегать в лично мне осточертевший раздел var...Это конечно мелочи, но в целом с++ лично мне кажется более удобным, гибким и удобоваримым.. А что касается С# так вообще песня.
Согласен, если это нормальный язык а не экзотика какая-нибудь...
о Госспади, ну и чушь пишете... какой паскаль? зачем? сравнить с тем же самым с++. Так с++ это же песня-одна эстетика записи цикла чего стоит...Как хошь так и пиши.. Переменную где захотел там и объявил а не надо каждый раз бегать в лично мне осточертевший раздел var...Это конечно мелочи, но в целом с++ лично мне кажется более удобным, гибким и удобоваримым.. А что касается С# так вообще песня.
Согласен, если это нормальный язык а не экзотика какая-нибудь...
Я думаю мы бы тебя с первого раза поняли )))
Насчёт фри паскаля.Я тут мимо книжного магазина проходил на днях и решил зайти ,чтобы посмтореть, есть ли там что-нибудь про фри пасик.И не нашёл ничего.Ни книжки,ни брошюрки ,ни листочка про него.
а чем он так хорош, ваш ТП?
manhatan
10-10-2007, 00:07
ничем правда
ManInXRay
10-10-2007, 00:20
BP7 под 286P может компилить, т.е. 16-разрядный protected mode, который мертворожденный был на Intel 80286 процах, вроде бы использовался в 16-бит версиях Windows и позволял адресовать целых 16Мегабайт (!!:D) кусочками по 64килобайта))
Имхо, тот еще отстой))
И вроде какой-то DOS-extender можно было использовать и DLL-библиотеки цеплять.
Linuxoid
10-10-2007, 10:36
А разве той документации, которая в интернете, недостаточно?
А я ещё про Haskell и OCaml ничего в книжном магазине не видел. И ничего - пользуются этими языками. И с огромным удовольствием и величайшим успехом.
Я пишу сейчас учебник по Фри Паскалю. Но на башкирском...
А зачем Фри Паскаль нужен ,когда Дельфи есть.Я как понял Дельфи ему не уступает ,даже наоборот.И литературы полно,пользуйся не хочу.
Linuxoid
11-10-2007, 09:56
FreePascal свободен. Да и Delphi не поддерживает многоплатформенность.
И вообще Deplhi - это среда разработки. Прямым аналогом и сильным конкурентов Delphi является Lazarus
Вывод: Delphi хуже.
так это синтаксис виндового паскаля, а ты под досовским хочешь собрать. ничего удивительного, что ругается.
найди tpw и собирай им.
GuitariLLaz
11-10-2007, 14:53
ну ты задаешь задачки, дядя!
вот такое нарыл, не нада? :)
а здесь есть программисты, которые на Delphi пишут?
У меня такой вопрос.Как можно остановить программу,в отладчике ,типа брэкпоинта,но чтобы программа останавливалась в том месте и указывала на ту строку,при прохождении которой значение переменной удовлетворяет определённому условию.Я знаю такая функция есть ,но там же ты сам ставишь точку останова ,а так не возможно узнать в каком именно месте переменная поменяла значение .Если пользоваться пошаговым режимом ,то можно сидеть до вечера.Как это сделать в Турбо или Борланд Паскале ?Подскажите ...
Steel 40X
21-11-2007, 22:20
для начала... зачем останавливать? просто вывалицца из проги? или посмотреть ченить...
Мне нужно понять ,почему и как или что меняет в определённой переменной её значение,даже не в одной ,всё вроде нормально идёт ,но в какой то момент в них странные цифры записываються(переменные глобальные), и вот я хочу этот момент найти ,понять почему так происходит.
Окно Immediate открой, там все переменные выдают свое текущее значение.
афтар, прочти уже мануал на отладчик, что ли. а потом поставь брейкпоинт на запись в переменную.