Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.07.26;
Скачать: CL | DM;

Вниз

Пара вопросов и траблов   Найти похожие ветки 

 
Black   (2009-06-01 15:44) [0]

Дамы и господа, пишу курсовой на Delphi тема простая для понимания - "Органайзер" столкнулся с некоторыми банальными и не очень трудностями. Помогите пожалуйста в решении пары траблов и как более опытные подскажите лучшие чем мои алгоритмы. Исходный код (правда в нем много мусора) прилагается.
Кратко о проекте: 4 формы. Основная форма, это TMonthCalendar и TMainMenu. Вторая форма это добавление события на дату.Третья - чтение события с даты (т.е при двойном щелчке на дате в MonthCalendar на основной форме). Четвертая - пока не активная (пытался сделать несколько событий на одну дату). Пятая(ну как же без сентиментализма) - "О программе" или хвала разработчикам
===
Трабл #1) Довольно странная ошибка - сохраняю событие в файл

reset(base);
 write(base,c_t);
  showmessage(inttostr(filepos(base)));
   closefile(base);
    close;

showmessage(inttostr(filepos(base))); - выдает мне текущую позицию указателя в файле, дык вот при каждом сохранении программа перезаписывает предыдущую запись т.к. указатель не сдвигается, хотя это должно происходить автоматически
--
На всякий случай - проверьте корректность чтения

i:=1;
assignfile(base,"base.dat");
 reset(base);
  while not (eof(base)) do
 begin
  read(base,c_t_b[i]);
   i:=i+1;
 end;
closefile(base);


Трабл #2)Сохранение выравнивания текста

   1)Проверяю применены ли операции выравнивания посредством стандартных action"ов и присваиваю их выделенным под них элементам булево-массива в типе данных

   
       if richeditAlignRight1.Checked=true then begin c_t.format[1]:=true; showmessage("Yes1") end;
       if richeditAlignCenter1.Checked=true then begin c_t.format[2]:=true; showmessage("Yes2") end;

     

   2)При Двойном щелчке на дате проверяю содержимое файла на операции выравнивания и определяю свойства объекта RichEdit1 на форме три

       
       if c_t_b[j].format[1]=true then begin f3flags[1]:=true;//form3.RichEdit1.Alignment:=taRightJustify;
          if c_t_b[j].format[2]=true then f3flags[2]:=true;//form3.RichEdit1.Alignment:=taCenter;
 


   Как видите пробовал по разному, в том варианте который вы видите сейчас я присваиваю булева массиву который использую как флаг значения а на создание формы три вешаю присвоение выравнивания либо вариант два

 
       if c_t_b[j].format[1]=true then Form3.RichEdit1.Alignment:=taRightJustify;
          if c_t_b[j].format[2]=true then form3.RichEdit1.Alignment:=taCenter;
       


Вопрос по другим свойствам текста, почему операция

RichEdit1.font.Style:=fsbold;
Приводит к "[DCC Error] Unit1.pas(122): E2010 Incompatible types: "TFontStyles" and "TFontStyle""
Как это предотвратить?

Если у кого-нибудь появится идея как можно написать (условиях уже написанного кода, т.е дописать) запись нескольких событий одного или разного типа на одну дату буду очень рад выслушать и принять к сведению.

Есть еще парочка вопросов и траблов, но их пока трогать не буду. Заранее благодарю


 
clickmaker ©   (2009-06-01 15:46) [1]

> RichEdit1.font.Style:=fsbold;
> Приводит к "[DCC Error] Unit1.pas(122): E2010 Incompatible
> types: "TFontStyles" and "TFontStyle""
> Как это предотвратить?

RichEdit1.font.Style:=[fsBold];

в хелпе даже пример есть


 
И. Павел   (2009-06-01 15:51) [2]


> программа перезаписывает предыдущую запись т.к. указатель
> не сдвигается

Или открывайте файл для добавления (Append), или не выполняйте Reset перед каждым Write (открывайте файл только один раз, а потом записывайте), или переходите на нужное место в файле через seek.



Страницы: 1 вся ветка

Текущий архив: 2009.07.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
2-1243791655
Сергей
2009-05-31 21:40
2009.07.26
TTreeNode


2-1243356130
rect
2009-05-26 20:42
2009.07.26
Проблемы с transparent


15-1242460113
PEAKTOP
2009-05-16 11:48
2009.07.26
Обновился Delphi RoadMap


2-1243581599
И. Павел
2009-05-29 11:19
2009.07.26
Разное поведение программы при выполнении и отладке


2-1243571350
сергей
2009-05-29 08:29
2009.07.26
DriverComboBox