Лаптоп и ДОС

16 отговора 0 прегледа
#1

Лаптоп и ДОС

Здравейте,
Извинявам се че задавам този въпрос тук и ви отнемам от времето, но мисля, че само сред Вас ще има хора, които могат да ми отговорят.
Пускам темата така, както я зададох в един друг форум, но там не получих отговор.


Скоро си купих Лаптоп
За тези, които все питат какво да си купят слагам линк
Аз съм доволен - има и по хубави модели, но този си избрах.
[линк]

Проблемът е следния
Една от задачите за която си го купих е да използвам една стара паскалска програма, която съм правил навремето, но все още ми върши чудесна работа.
Тя работи в графичен режим под ДОС.
Проблемът е, че на този компютър който е с широкоформатен екран ЦИФРИТЕ И НЯКОИ ЗНАЦИ КАТО ПЛЮС да речем ми излизат като размазани петна.
Със и без кирилизатор - все същата работа.

Някой може ли да ми обясни защо става така?????

Отговор
в отговор на mitko #2

Re: Лаптоп и ДОС

На initgraph какво му задаваш от въпросната програма? С outtextxy ли пишеш текста?

Отговор
в отговор на бaтKoлю #3

Re: Лаптоп и ДОС

initgraf си детектва с-мата и установява VGA режим. Пробвах със setgraphmode да го променя но все съюото излиза.
Текста пиша с outtextxy.
Ползвам кирилизатора cyrillic.com май е на Стемо. Той чудсно работи в графичен режим на всъвъзможни компютри - от Правец 16 до Пентиум. Ама с него и без него на този комп цифрите, интервала , плюса и др. не излизат - като разпльокано петно се явяват. Другите букви излизат чудесно. Вече не знам какво да мисля.

Аз знам как ще си реша проблема. На нормален комп ще напиша проблемните цифри. Ще прочета екрана с гетпиксел. ще го запомня в масив и т.н. и ще направя подпрограма да ги изкарва вместо нормалните. Ама това е девет дена път с камили.
Ако можете да ми помогнете ще бъда безкрайно благодарен.
Предполагам, че това ще е проблем и на други комп. с широки екрани.
все някакво решение трябва да има

Отговор
в отговор на mitko #4

Re: Лаптоп и ДОС

Направи една снимка и я дай тука да видим какво означава "разпльокано петно", че нещо не си представям какъв е проблема.

Отговор
в отговор на mitko #5

Re: Лаптоп и ДОС

S virtualna mashina syshto mogesh da si reshish problema.

Отговор
в отговор на mitko #6

Re: Лаптоп и ДОС

Ами де да знам да ти кажа ... Може просто шрифтовете да са насрани. Пробвай с SetTextStyle някой от другите. Sans-serif евентуално...

Отговор
в отговор на mitko #7

Re: Лаптоп и ДОС

Пробай да си пуснеш програмчето през DOSBox може и да стане.

Отговор
в отговор на mitko #8

Re: Лаптоп и ДОС

Пробвай да смениш шрифта по подразбиране на конзолата... доста счетоводни творения съм подкарвал така.


Welcome to the real world!

Отговор
в отговор на mitko #10

Re: Лаптоп и ДОС

Пробвах да постна картинките от една тестова програмка за случая, но много малки се показаха.

Ето на долния линк ги има.

[линк]

Отговор
в отговор на mitko #11

Re: Лаптоп и ДОС

SetAspectRatio ?

Отговор
в отговор на tux #12

Re: Лаптоп и ДОС

Вкъщи ми е лаптопа. Сега съм на работа - пак ще го мъча довечера.
Ще пробвам пак да сложа картинките.





Отговор
в отговор на Mitko #13

Re: Лаптоп и ДОС

Аде ве Програмисти
Дайте неккав акъл кво да правя - или поне го пробвайте на ваште лаптопи дали пак така ги изкарва цифрите.

Ей ви малко сорс - да не са мачите да го пишете:

Program bukvi;

Uses Crt, Graph;

Var i,j,k,l,m,n: integer;
txt: string[20];
var
GraphDriver : Integer;
GraphMode : Integer;
LowMode : Integer;
HighMode : Integer;
begin
GraphDriver := Detect;
InitGraph(GraphDriver, GraphMode, '');
if GraphResult <> grOk then Halt(1);
GetModeRange(GraphDriver, LowMode,
HighMode);
SetGraphMode(2);
line(0,0,640,480);
{ SetTextJustify(CenterText, CenterText); }
SetTextStyle(DefaultFont, HorizDir, 0);
txt:='azx123';
outtextxy(200,100,'Proba_Проба q 1 2 3 4 5 6 7 8 9 0___+-');
outtextxy(200,150,txt); l:=1230; str(l,txt); outtextxy(300,150,txt);
outtextxy(200,170,chr(49+256));
gotoxy(5,5); write('prob 1234567890');


readln;


end.

Отговор
в отговор на Mitko #14

Re: Лаптоп и ДОС

Колега, аз бих те посъветвал да заебеш тоя ДОС и да си пренапишеш програмката. Ето как се прави на Делфи:

  with Image1.Canvas do

begin
Brush.Color := clBlack;
Pen.Color := clWhite;
Font.Color := clWhite;
FillRect(Rect(0, 0, 640, 480));
MoveTo(0, 0);
LineTo(640, 480);
TextOut(200, 100, 'Proba_Проба q 1 2 3 4 5 6 7 8 9 0___+-');
TextOut(200, 150, 'azx123');
TextOut(300, 150, 'azx123');
TextOut(200, 170, chr(49+256));
end;


Резултата е:


Отговор
в отговор на бaтKoлю #15

Re: Лаптоп и ДОС

Аз имам доста стари неща писани за ДОС,
ползващи VESA 800 х 600 - 1280 х 1024 със 256, 65К цветове.
Имах проблеми да ги подкарам на TFT заради refresh rate или смачкана графика.
Инсталирах си DOSBox ( 0.65 ) и нещата са ОК.
Пробвай и ти.

Успех!

Отговор
в отговор на DOS #16

Re: Лаптоп и ДОС

Благодаря на всички за отговорите.
Пробвах си тестовата програмка на друг лаптоп марка HP и там тръгна без проблем. Вероятно причината е нещо в моя лаптоп но не разбрах каква.
В края на краищата наистина като си инсталирах DOSBox програмата ми тръгна правилно и вече може да ми върши работа.

На Бат Колю също искам да благодаря, че е отделил време за мен. Аз съм на 43 г. и вече ми е малко късно да минавам да Делфи, но имам мерак поне малко да го науча. Инсталирал съм си Делфи 7 и имам дебели книги да чета, но нямам време да му отделя сериозно внимание.
Пробвах да пусна това, което ми е написал. Отворих си форма, направих си бутонче и в него пуснах текста на програмката. Но Делфито ми дава грешка защото явно не знае какво е Image1.Canvas . Пробвах да го изкарам като процедура, ама пак не тръгна.
Как да го дефинирам това Image1.Canvas .
Основният ми проблем с Делфи е това, че във всички книги се описва графичният интерфейс, но конкретните оператори, като textout например или StrToFloat ги няма никъде дадени като списък. Трябва да повтарям като папагал примерите, които дават и какъвто конкретен оператор видя да го запомням.
Ако знаете някаква хубава литература за делфи моля да ми кажете.
Още веднъж благодаря на всички, които се опитаха да помогнат!

Отговор
в отговор на Mitko #17

Re: Лаптоп и ДОС

За да имаш Image1.Canvas трябва да drag-неш един TImage върху формата и той да ти се казва Image1 (така е по подразбиране).

Отговор