IDE для паскаля.

Темы, связанные с проектированием и программированием roguelike-игр

Модераторы: Sanja, Максим Кич

Аватара пользователя
Maelstraz
Сообщения: 46
Зарегистрирован: 27 янв 2011, 22:41
Контактная информация:

Re: IDE для паскаля.

Сообщение Maelstraz » 24 окт 2012, 20:56

У меня от этого вашего Лазаруса БЕССИЛИЕ из-за неработающей процедуры textmode (да, я делаю рогалик в сосноли).

В турбопаскале всё работало нормально, а тут, на тебе, стабильное и растягиваемое в любые стороны 80х25 с полосочкой прокрутки. Что я делаю не так? Уже полгугла изрыл, не могу найти причину запора.

Аватара пользователя
karagy
Сообщения: 1271
Зарегистрирован: 10 янв 2007, 14:13

Re: IDE для паскаля.

Сообщение karagy » 25 окт 2012, 08:10

Расказанное вами напоминает дефолтные настройки ярлыка (например шорткат на дескторе) для консольного приложения - когда Buffer Size 400 а Window Size 80. Если есть ассоциированный с приложением ярлык - покопайтесь в его свойствах и выставьте совпадающие размеры для буфера и окна (правой кнопкой мышки на ярлыке -> Properties -> Layout). Это я описал для консольных в WinXP. Как там в семерах и выше - не знаю.

Аватара пользователя
Maelstraz
Сообщения: 46
Зарегистрирован: 27 янв 2011, 22:41
Контактная информация:

Re: IDE для паскаля.

Сообщение Maelstraz » 25 окт 2012, 09:45

Я просто поясню свою проблему рисунком.
Скрытый текст: ПОКАЗАТЬ
Изображение
Слева - то, что мне нужно.
Справа - то, что получается. =_=

Аватара пользователя
Jesus05
Сообщения: 1840
Зарегистрирован: 02 дек 2009, 07:50
Откуда: Норильск, сейчас Санкт-петербург.
Контактная информация:

Re: IDE для паскаля.

Сообщение Jesus05 » 25 окт 2012, 10:17

Скрытый текст: ПОКАЗАТЬ
80.300..80.25.png
80.300..80.25.png (94.02 КБ) 4610 просмотров
80.300..80.50.png
80.300..80.50.png (85.15 КБ) 4610 просмотров
80.50..80.50.png
80.50..80.50.png (83.08 КБ) 4610 просмотров

Аватара пользователя
Maelstraz
Сообщения: 46
Зарегистрирован: 27 янв 2011, 22:41
Контактная информация:

Re: IDE для паскаля.

Сообщение Maelstraz » 25 окт 2012, 10:21

Jesus05, но мне-то нужно программно :3
Не заставлять же каждого моего тестера выставлять эти настройки?

Придётся скидывать вместе с ярлыком, эх...

Аватара пользователя
Jesus05
Сообщения: 1840
Зарегистрирован: 02 дек 2009, 07:50
Откуда: Норильск, сейчас Санкт-петербург.
Контактная информация:

Re: IDE для паскаля.

Сообщение Jesus05 » 25 окт 2012, 10:29

Maelstraz писал(а):Jesus05, но мне-то нужно программно :3
Не заставлять же каждого моего тестера выставлять эти настройки?

Придётся скидывать вместе с ярлыком, эх...
не смог найти где программно, но смутно припоминается что в WinApi что-то такое было.

Аватара пользователя
Maelstraz
Сообщения: 46
Зарегистрирован: 27 янв 2011, 22:41
Контактная информация:

Re: IDE для паскаля.

Сообщение Maelstraz » 25 окт 2012, 10:32

Запустил прогу, выставил в ней свойства окна, всё работает так, как надо, но изменений в коде не увидел. Что за ад?

Ладно, так или иначе, проблема решена...

PS: Хотя, скорее всего, изменения были внесены в настройки консоли моего компьютера...

Аватара пользователя
Jesus05
Сообщения: 1840
Зарегистрирован: 02 дек 2009, 07:50
Откуда: Норильск, сейчас Санкт-петербург.
Контактная информация:

Re: IDE для паскаля.

Сообщение Jesus05 » 25 окт 2012, 11:18

Maelstraz писал(а):Запустил прогу, выставил в ней свойства окна, всё работает так, как надо, но изменений в коде не увидел. Что за ад?

Ладно, так или иначе, проблема решена...

PS: Хотя, скорее всего, изменения были внесены в настройки консоли моего компьютера...
в такой ситуации винда запоминает настройки (только не помню для конкретной программы или для всех консолей).
у тестеров без ярлыка будет по дефолту.

Аватара пользователя
Maelstraz
Сообщения: 46
Зарегистрирован: 27 янв 2011, 22:41
Контактная информация:

Re: IDE для паскаля.

Сообщение Maelstraz » 31 окт 2012, 20:02

Поковырялся в лазаре, выяснилось, что процедура Textmode не работает просто потому что в ней ничего нет:

Код: Выделить всё

procedure TextMode (Mode: word);
begin
end; 
Стул горит, плачу кровью, продолжаю искать способы манипулировать размерами сосноли через код.

Аватара пользователя
unhappy
Сообщения: 314
Зарегистрирован: 10 июл 2007, 08:51

Re: IDE для паскаля.

Сообщение unhappy » 01 ноя 2012, 05:16

Maelstraz писал(а):способы манипулировать размерами сосноли через код.
я делал с помощью вот этого:
SetConsoleScreenBufferSize
SetConsoleWindowInfo

код на бейсике выглядел примерно так:

Код: Выделить всё

Procedure InitScreen()
Protected xy, stdout, NewSize.SMALL_RECT
  If OpenConsole()
    ConsoleColor(15,1)
    ClearConsole()
    xy = (30<<16) + 80
    NewSize\top=0
    NewSize\left=0
    NewSize\right=79
    NewSize\bottom=29
    stdout = GetStdHandle_(#STD_OUTPUT_HANDLE)
    SetConsoleScreenBufferSize_(stdout, xy)
    SetConsoleWindowInfo_(stdout,1,@NewSize)
  Else
    End
  EndIf

  EnableGraphicalConsole(1)
  ConsoleCursor(1)
  ConsoleTitle("***")

EndProcedure
но, думаю, что msdn в паре с гуглом дадут полное представление как это использовать у себя.
летит ужасный бармаглот и пылкает огнём.

Аватара пользователя
Uvadzucumi
Сообщения: 365
Зарегистрирован: 29 ноя 2011, 07:13
Откуда: Дубай, ОАЭ (Минск, Беларусь)
Контактная информация:

Re: IDE для паскаля.

Сообщение Uvadzucumi » 01 ноя 2012, 05:23

в FPC есть модули linux и dos, якобы для работы с консольным окном для *nix и винды соответственно, но, как помню, во всяком случае под линуксом что то не выходило у меня. но покопать стоит в том направлении.
Меня окружали милые, добрые люди... медленно сжимая кольцо

Аватара пользователя
Maelstraz
Сообщения: 46
Зарегистрирован: 27 янв 2011, 22:41
Контактная информация:

Re: IDE для паскаля.

Сообщение Maelstraz » 21 июн 2013, 08:57

Полгода гуглил...
Скрытый текст: ПОКАЗАТЬ

Код: Выделить всё

program MyProg;

uses
  Windows;                               // Модуль ШINDOШS, позволяющий нам грязно манипулировать консолью.

var
  h:HANDLE;                              // Это хендл (эдакий номер / айдишник) нашего консольного окна.
  size:coord;                            // Это переменная-record, в которой хранятся нужные нам размеры.

begin
  SetConsoleTitle('SUPERMEGAROGALEK');   // :3
  h:=GetStdHandle(STD_OUTPUT_HANDLE);    // Отлавливаем хендл окошка в переменную.
  size.X:=80; size.Y:=25;                // Задаём размеры окна.
  SetConsoleScreenBufferSize(h,size);    // ТА-ДАМ! Задаём размеры консольного буфера, 
                                         // указывая хендл окна и нужные размеры.
end.
xD

IDE - Lazarus, OC - Шindoшs 8, всё работает, брат жив, зависимости никакой.

В линуксе работать не будет. :3
Но когда/если доживу до версии 1.0 - выложу сорсы.

Одно печально - команда MoveWindow() работает с какой-то грустью и недоумением, поэтому и не получилось всё, что хотелось. Когда-нибудь найду, но это уже совсем другая история. Теперь можно приступать к проганию ружлайка, не боясь того, что он будет лишён всякого изящества.

Аватара пользователя
Феникc
Сообщения: 679
Зарегистрирован: 27 ноя 2010, 15:01
Откуда: Челябинск

Re: IDE для паскаля.

Сообщение Феникc » 21 июн 2013, 09:06

За эти полгода уже вышел BearLibTerminal, в котором и рикаминдуется делать бегающих собачек.
Всё вышесказанное - ИМХО, если не указано обратное.

Аватара пользователя
Maelstraz
Сообщения: 46
Зарегистрирован: 27 янв 2011, 22:41
Контактная информация:

Re: IDE для паскаля.

Сообщение Maelstraz » 21 июн 2013, 09:07

Феникc писал(а):За эти полгода уже вышел BearLibTerminal, в котором и рикаминдуется делать бегающих собачек.
ТОЛЬКО ВЕЛОСИПЕДЫ, ТОЛЬКО ХАРДКОР!

Аватара пользователя
Sirion
Сообщения: 689
Зарегистрирован: 21 авг 2010, 19:33

Re: IDE для паскаля.

Сообщение Sirion » 21 июн 2013, 09:33

ant.tolk: что посоветуете при переходе с делфи на сишарп?
firelord: радоваться

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 30 гостей