Помощь - Поиск - Пользователи - Календарь
Полная версия: Formating in Turbo Vision
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
FX
Помогите пожалуйста с одной маленькой (для меня) проблемой...
Мне нужно вывести записи на эран, где элементы "god" и "cena" должны выводится не с левого края а с правого своей области.
Элементы все string.
Знаю как в числовых элементах делается:
god,'':(11-length(god))
а с символьными не могу разобратся...


cena:string[8];
god:string[11];


Procedure TInterior.ReadFile;
var k:integer;
s,shapka:String;
data:autopark;
t:text;
begin
PS:=New(PStringCollection,Init(100,10));
seek(f,0);
shapka:=' Название | Марка | Год | Кузов | цвет | цена  ';
PS^.insert(NewStr(shapka));
while not (EOF(f) or LowMemory) do
begin
read(f,data);
with data do
begin
s:=nazvanie;
while Length(s)<Lnazvanie do s:=s+' ';
s:=s+marka;
while Length(s)<Lnazvanie+Lmarka do s:=s+' ';
s:=s+god;
while Length(s)<Lnazvanie+Lmarka+Lgod do s:=s+' ';
s:=s+kuzov;
while Length(s)<Lnazvanie+Lmarka+Lgod+Lkuzov do s:=s+' ';
s:=s+cvet;
while Length(s)<Lnazvanie+Lmarka+Lgod+Lkuzov+Lcvet do s:=s+' ';
s:=s+cena;
end;
if s<>' ' then PS^.Insert(NewStr(S));
end;
Location:=0;
end;

Ozzя
GotoXY(80-Length(stroka),y);
FX
Ага...и куда его прописывать прикажите? Пробывал, но ниче не передвигает!
volvo
Цитата
Ага...и куда его прописывать прикажите?
А ты что, показал где-то как ты вообще выводишь что-то на экран? Или ты хочешь форматировать строку в памяти?
FX
Выводится она у меня так:
Название | Марка | Год | Кузов | Цвет | Цена
Опель Омега 1995 Седан Белый 8000

А нужно чтоб было так:
Название | Марка | Год | Кузов | Цвет | Цена
Опель Омега 1995 Седан Белый 8000
Гость
Ой, плохо получилось...
Гость
Ой, плохо получилось...
FX
Выводится она у меня так:
Название..|..Марка..|....Год....|..Кузов..|..Цвет...|..Цена
Опель........Омега.....1995........Седан.....Белый...8000

А нужно чтоб было так:
Название | Марка | Год | Кузов | Цвет | Цена
Опель........Омега............1995.Седан.....Белый......8000
FX
Да что такое! wacko.gif


Выводится она у меня так:
Название..|..Марка..|....Год....|..Кузов..|..Цвет...|..Цена
Опель........Омега.....1995........Седан.....Белый...8000

А нужно чтоб было так:
Название..|..Марка..|....Год....|..Кузов..|..Цвет...|..Цена
Опель........Омега............1995.Седан.....Белый......8000
Ozzя
Нет, тебя спрашивают КАК ты выводишь на экран данные - средствами ТВ или просто write(ln).
FX
Средствами ТВ!
Ozzя

var
R : TRect;
Stroka: String;
...
R.Assign(1,1,79-Length(stroka),1);
Insert(New(PStaticText,Init(R,Stroka)));
...

FX

Извиняюсь за назойливость но я в ТВ не очень шарю, не могли б мне тыкнуть пальцем где это вообще прописывать! Прописал в процедуре (см. выше) - выдает ошибку...
Ozzя
У меня здесь все вставляется в диалог, например:
PTestWin =^TTestWin;
TTestWin = object (TDialog)
Procedure HandleEvent(var Event: TEvent); Virtual;
Procedure Draw; Virtual;
end;

var
d:TestWin;
Далее идет вышеозначенный код
и затем
q:=DeskTop^.ExecView(d);

Но рекомендую почитать книжку по ТВ.

Гость
OK! Спасибо!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.