Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» проблемы Turbo Pascal

Автор: Jean
Дата сообщения: 10.12.2002 22:06
UncoNNecteD

Цитата:
Ну вроде бы со всем разобрался, пока. Но программ с модулем Дос так и не нашел еще. Так что если есть...

Так я вроде написал.

На данный момент у меня проблема только с модулем Дос. Очень нужны программы с использованием этого модуля.
Автор: STEEL
Дата сообщения: 05.02.2004 19:59
Да блин, есть у кого-нибудь книги по программированию на паскале! Подскажите какие-нибудь. Нету нихде!
Автор: FuzzyLogic
Дата сообщения: 06.02.2004 17:42
STEEL
Да куда ж они все подевались?

Любым поисковиком находится море за 5-10 минут. Ну вот хотя бы...
http://www.citforum.ru/programming/delphi.shtml
Автор: STEEL
Дата сообщения: 04.05.2004 11:33
Не понимаю, как написать цикл, чтобы заставить крутиться вертеться вот этим символам / \ , такая вращающаяся звёздочка, когда например идёт копирование файлов, эта штучка должна крутиться, то есть появляется один символ / , следом он меняется на \ и т.д.
Или чтобы например точки рисовались. Или как бегущую строку написать. Или чтобы текст печатался, так, как будто его набирают. Надеюсь Вы меня поняли. Я совсем не понимаю, как подобные циклы пишутся. Мне на PASCAL.
Автор: hog
Дата сообщения: 05.05.2004 15:36
STEEL

Цитата:
Я совсем не понимаю, как подобные циклы пишутся

А что именно не понятно? общий алгоритм такой:
Начало цикла
Делаем работу
Выводим индикатор прогресса (учитывая, что его скорее всего не нужно выводить при каждой итерации)
Конец цикла.


Цитата:
крутиться вертеться вот этим символам / \


Код:
uses crt;
const
csymbols : string = '-\|/'; { символы }

procedure NextSymbol(var ACurrent : integer);
begin
inc(ACurrent); { Следующий символ }
if ACurrent > Length(csymbols) then ACurrent := 1;
GotoXY(WhereX-1, WhereY); { Передвинули курсор на 1 символ влево (модуль Crt) }
Write( csymbols[ACurrent] ); { Нарисовали символ }
end;

var
i : integer; { счетчик "длинного цикла" }
s : integer; { номер текущего символа }
begin
s := 0;
for i := 0 to 1000 do begin
Delay(1000); { задержка 1 сек. }
NextSymbol(s); { рисуем символ }
end;
end.
Автор: STEEL
Дата сообщения: 05.05.2004 17:44
hog
Респект!
Совсем забыл про delay.
Какая алтернатива библиотки Crt в Delphi?
Автор: hog
Дата сообщения: 05.05.2004 18:55
STEEL

Цитата:
Какая алтернатива библиотки Crt в Delphi?

именно для консольных приложений?
Автор: STEEL
Дата сообщения: 05.05.2004 19:33
hog
Ну да! Именно для консольных. В хелпе ничего нет ни по delay, ни по crt... что делать..
Автор: hog
Дата сообщения: 05.05.2004 20:57
STEEL
Если нужен только Delay, то см WinApi: Sleep и SleepEx или так:

Код:
procedure DoDelay(Msecs: Integer);
var
FirstTickCount : LongInt;
begin
FirstTickCount := GetTickCount;
repeat
Application.ProcessMessages;
until ((GetTickCount - FirstTickCount) >= LongInt(Msecs));
end;
Автор: STEEL
Дата сообщения: 08.05.2004 13:40
hog
Помоги разобраться со цветом, курсором.. какой модуль
Автор: hog
Дата сообщения: 08.05.2004 23:17
STEEL
вот тут лежит модуль, реализующий все нужные функции:
http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=19810
Автор: STEEL
Дата сообщения: 23.03.2005 08:46
Человеки такая задачка, вводим трёх значное число... например 468, необходимо разбить его на
a := 4
b := 6
c := 8

Помню, что реализуется с помощью DIV, подскажитика...
Автор: OdesitVadim
Дата сообщения: 23.03.2005 10:25
учитывая, что у нас турбоПаскаль, тогда

Код:
var s:string;
a,b,c:byte;
k:integer;
......
readln(s);
val(s[1],a,k);
val(s[2],b,k);
val(s[3],c,k);
Автор: merlkerry
Дата сообщения: 23.03.2005 10:36
OdesitVadim
мне кажется ты путаешь операторы mod /div


Код:
var a,b,c:byte;
var i:interger;

i:=468;

a:=i div 100; b:=(i div10) mod 10; c:=i mod 10;
Автор: OdesitVadim
Дата сообщения: 23.03.2005 10:40
merlkerry
да кажеться напутал чуточку, исправил
Автор: STEEL
Дата сообщения: 25.03.2005 22:23
Вот ещё, необходимо число меньшее или равное 256 перевести в двоичную. Чтобы перевести в двоичную, насколько я знаю, его необходимо делить на 2 ? Но как бы я не делил, на листке бумаги получается одно, а на калькуляторе (ф-я есть такая), совсем другое. Немогли бы вы продемонстрировать. Скажем перевод числа 256 в двоичное на паскале.
Автор: OdesitVadim
Дата сообщения: 26.03.2005 14:23

Код:
function IntToBin1(Value: Longint): string;
var
i: Integer;
Digits: Integer;
begin
digits:=trunc(ln(value)/ln(2));
Result := '';
for i := Digits downto 0 do
if Value and (1 shl i) <> 0 then
Result := Result + '1'
else
Result := Result + '0';
end;
Автор: Fronton
Дата сообщения: 26.03.2005 15:36
Привет.

Простите за глупый вопрос, но чем отличаются Borland Pascal и Turbo Pascal и какие версии у них есть? Вопрос возник по причине того, что есть программа (очень большая) откомпилированная на (предположительно) Borland Pascal 7.01, но я нигде не могу его найти.
Я имею в виду полную версию.
Автор: STEEL
Дата сообщения: 26.03.2005 17:58
У меня есть, на фтп могу выложить.

Turbo Pascal - язык
Borland Pascal - компилятор

Поправьте, если ошибся.

Добавлено:
OdesitVadim
Если не лень, то буду очень признателен.
Автор: OdesitVadim
Дата сообщения: 26.03.2005 18:25
STEEL

Цитата:
Turbo Pascal - язык
Borland Pascal - компилятор

кажеться не так. Pascal, Object Pascal - это язык.
Turbo Pascal - компилятор под ДОС
Borland Pascal может всё, что Turbo Pascal + делать проги под win16
-------------------
перевод в двоичную систему обычно делают в столбик. Пример
перевести 14

14 | 0
7 | 1
3 | 1
1

1410=11102

Объяснение записываем число (у нас 14). В уме делим на 2. остаток(0) записываем справа. Результат (7) под 14. Так продолжаем, пока у нас не будет записана 1.
Чтобы прочитать ответ, нужно читать сверху (то есть от этой нашей 1) вверх
Этот метод называется в столбик.

Есть второй метод, более просой, но для малых чисел, и его обычно можно проделывать в уме:
Задано число M
Строим ряд степеней двойки 1, 2, 4, 8, 16, ....... 2n такЮ чтобы 2n>=M
теперь с этих чисел пытаемся составить наше число M. При этом не употребляем числа дважды, но использовать все числа не обязательно. Зная разложения числа, сожно записать ответ. как? видно с таблицы.
Задано число 11, Имеем ряд 1, 2, 4, 8, 16


ряд 16 8 4 2 1
Автор: Fronton
Дата сообщения: 26.03.2005 19:10
STEEL

Цитата:
Turbo Pascal - язык
Borland Pascal - компилятор


у меня есть диск (CD) и на нем есть компилятор turbo pascal 6 и borland pascal 7 (хотя bp7 какой то кастрированный). Turbo Pascal вызывается tp а Borland Pascal bp. Вот и пойми - что есть что. У кого нибудь есть настоящая дистрибуция?

Автор: OdesitVadim
Дата сообщения: 26.03.2005 19:15
Fronton
Иногда вместо bp вылаживают апдейт bp, а это не одно и тоже - размеры поменьше будут
Автор: Fronton
Дата сообщения: 26.03.2005 19:58
OdesitVadim
Да, именно - у меня на диске лежит именно апдейт к Borland Pascal. Там написано, что нужно иметь оригинальную версию и затем применить данный апдейт. Но у меня нет (не могу найти) именно оригинальной версии. Может у кого есть?
Автор: OdesitVadim
Дата сообщения: 26.03.2005 20:05
Fronton
есть, но выложить - долго будет (файлов много, а канал медленый )
Автор: Fronton
Дата сообщения: 26.03.2005 20:28
OdesitVadim

Спасибо anyway -- поискалв своем хламе -- и нашел - УРА.

Ура, Ура, Ура.
Автор: STEEL
Дата сообщения: 26.03.2005 20:32
У меня есть полная версия с обновлениями. А на Turbo Pascal вглянул бы, выложить есть возможность? Хотя это уже оффтоп, да простят нас 8)
Автор: Dim2004
Дата сообщения: 26.03.2005 21:40

Цитата:
Turbo Pascal - компилятор под ДОС

Не под DOS, а под Real Mode .

Цитата:
Borland Pascal может всё, что Turbo Pascal + делать проги под win16

И Protected Mode.
Автор: STEEL
Дата сообщения: 26.03.2005 22:03
Задачка, вычислить значение числа с помощью операции сдвига. (число, кол-во сдвигов)
Автор: Fronton
Дата сообщения: 27.03.2005 11:00
STEEL

Цитата:
А на Turbo Pascal вглянул бы, выложить есть возможность?

см ПМ
Автор: OdesitVadim
Дата сообщения: 27.03.2005 12:25
STEEL
Сформулируй точно задачу.

Страницы: 1234

Предыдущая тема: Оптимизация парсинга строк в C#


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.