forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   MidletPascal (http://forum.boolean.name/forumdisplay.php?f=46)
-   -   Очистить окно с текстом (наверное это называется тек) (http://forum.boolean.name/showthread.php?t=8238)

Richik 02.05.2009 05:08

Очистить окно с текстом (наверное это называется тек)
 
Суть такова
При загрузки начального меню, выбираю нужный пункт.
Загружается текст из файла, на этом этапе все хорошо.
Выхожу в меню и выбираю другой (или тот же самый) пункт меню. И вот тут оказывается, что новый текст загрузился но после старого. т.е. на экране отображаются оба текста, один за другим :4to:

Надеюсь, что объяснил понятно, как это выглядит.

Вот вопрос как очистить старое содержание и отображать только новое?


Достаточно объемная информация загружается. И не как не мог понять, почему загружается только первый открытый документ, пока не пролистал до места стыка разных документов :-D

Richik 02.05.2009 11:43

Ответ: Очистить окно с текстом (наверное это называется тек)
 
Плиз, хелп, кто-нибудь :tel:

demon112 02.05.2009 12:19

Ответ: Очистить окно с текстом (наверное это называется тек)
 
Исходник дай! Посмотреть что там да как... Какой функцией текст на эу
кран выводишь?

KAK? TAK! 02.05.2009 13:06

Ответ: Очистить окно с текстом (наверное это называется тек)
 
procedure cls;//очищение экрана
begin
setcolor(255,255,255);
fillRect(0, 0,getWidth , getHeight);
end;{добавь в код} потом в каждой процедуре в конце добавь cls; и всё

KAK? TAK! 02.05.2009 13:07

Ответ: Очистить окно с текстом (наверное это называется тек)
 
я так понял

Richik 02.05.2009 13:21

Ответ: Очистить окно с текстом (наверное это называется тек)
 
Пользовался стандартными способами

Код:

procedure LoadRes(namefile: string);
var s, temp: string;
    res: resource;
    i: integer;
begin

  if loadfile=false then begin
    s:='';
    res:=OpenResource(namefile+'.txt');       
    repeat
      temp:=ReadLine(res);
      if temp='###' then break;         
      s:=s + StrToUtf8(temp) + chr(10);     
    until false;       
    CloseResource(res);   
    ShowForm;
    i:=FormAddString(s);   
    loadfile:=true;   
    addCom;
  end;
end;


Пробовал сделать через библиотеку
Код:

procedure LoadRes(namefile: string);
Var        s, temp: string;
                i: integer;   
begin
  if loadfile=false then begin
    s:=LoadText(namefile+'.txt');
          ShowForm;
          i:=FormAddString(s);
    loadfile:=true;   
    addCom;
  end;   
end;

Результат одинаков :mad:

Richik 02.05.2009 13:26

Ответ: Очистить окно с текстом (наверное это называется тек)
 
cls не сработал ((

Программа просто складывает два текста(

KAK? TAK! 02.05.2009 14:10

Ответ: Очистить окно с текстом (наверное это называется тек)
 
исходник давай

Richik 02.05.2009 14:50

Ответ: Очистить окно с текстом (наверное это называется тек)
 
Вложений: 1
Вот целый проект NewProject.zip (5.5 Кб)

Richik 02.05.2009 15:19

Ответ: Очистить окно с текстом (наверное это называется тек)
 
Господа, какие будут предложения?

А!, еще вопрос, как можно будет сделать меню в два сотлбца?
Просто элементов 81 шт.

demon112 02.05.2009 15:19

Ответ: Очистить окно с текстом (наверное это называется тек)
 
ClearForm; - удаляй форму при помощи этой функци и всё...

demon112 02.05.2009 15:24

Ответ: Очистить окно с текстом (наверное это называется тек)
 
И ещё... если хочешь чтоб было красиво - то пиши на канвасе, а не через формы.... а если текст большой, то фоспользуйся библиотекой font32

Richik 02.05.2009 15:34

Ответ: Очистить окно с текстом (наверное это называется тек)
 
Спасибо, все работает))

Цитата:

И ещё... если хочешь чтоб было красиво - то пиши на канвасе, а не через формы.... а если текст большой, то фоспользуйся библиотекой font32
Спасибо, учту
{---------------------------------}
Если кому интересно, "ClearForm;" я вставил в процедуру "remCom"

Richik 05.05.2009 18:48

Ответ: Очистить окно с текстом (наверное это называется тек)
 
Сижу юзаю библиотеку Font32.., не как не могу понять почему не получается так:

Код:

procedure LoadRes(namefile: string);
var s, temp, ss: string;
    res: resource;
    i: integer;   
begin
  if loadfile=false then begin
    ClearForm;       
 
    s:='';
    res:=OpenResource(namefile+'.txt');       
    repeat
      temp:=ReadLine(res);     
      if temp='###' then break;               
      s:=s + StrToUtf8(temp) + chr(10);
    until false;       
    CloseResource(res);
   
//ShowCanvas
    TextWindow(0,0,getWidth, getHeight);
    i:=Format(s, 0);
    SetColor(255,255,255);
    FillRect(0,0,getWidth, getHeight);   
    Align(i);
    DrawTextWindow;
    loadfile:=true;   
    showForm;
    addCom;
  end;

что я не так делаю?

{Приложение компилируется, библиотеку подключил, шрифт добавил (и dat-файл к нему), при загрузке тишина :wallbash: }


Один раз случайно в команду " i:=Format(s, 0);", место "s", написал "temp", на экране было написано "###" – конец ресурсного файла :) . т.е. вероятнее всего что обработка (применение шрифта) верная, наверное :(

Richik 07.05.2009 12:35

Ответ: Очистить окно с текстом (наверное это называется тек)
 
обсуждение данного вопроса было продолжено в теме Lib_font32: Графические шрифты


Часовой пояс GMT +4, время: 07:19.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot