Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2013, 14:36   #1
Turbokill
 
Регистрация: 15.01.2013
Сообщений: 6
Восклицание C++ Builder 2006/ Бегущая строка

Бегущая строка
Программа читает записанный в файле текст и выводит его в виде бегущей строки, например, справа налево. Необходимо создать соответствующий интерфейс позволяющий изменять тип шрифта, его размеры и цвет. Кроме того, нужно предусмотреть возможность изменение цвета фона и направления движения.
___________________________________ ________________________________
Здравствуйте! Я разобрался кое-как с механизмом создания самой бегущей строки, даже что-то вышло. Осталось разобраться с изменением шрифта
, направлением текста и сохранением/открытием файлов. Что-то не выходит у меня сделать через кнопку всё это дело, знаю только как через инспектор обьектов. Помогите разобраться хотя-бы с одной из недоделанных функций, большое спасибо! Вот моя работа:
Вложения
Тип файла: rar Моя.rar (345.8 Кб, 21 просмотров)
Turbokill вне форума Ответить с цитированием
Старый 05.05.2013, 20:59   #2
Turbokill
 
Регистрация: 15.01.2013
Сообщений: 6
По умолчанию

Практически сделал уже всю работу, но теперь такая загвостка, не выходит открывать и сохранять файл, хотя с изменением шрифта всё в порядке.
Подскажите что не так, вроде всё как надо прописываю.
Для открытия файла прописываю: if(OpenDialog1->Execute())
Edit1->Lines->LoadFromFile(OpenDialog1->FileName);
Ошибку выдаёт:[C++ Error] Unit1.cpp(60): E2316 'Lines' is not a member of 'TEdit'
С сохранением тоже самое: if(SaveDialog1->Execute())
Label1->Lines->SaveToFile(SaveDialog1->FileName);
Выдаёт:[C++ Error] Unit1.cpp(60): E2316 'Lines' is not a member of 'TLabel'
Ну и я ещё хотел добавить функцию очистки, тоже не хочет работать:Edit1->Clear;
Пишет:
[C++ Error] Unit1.cpp(59): E2235 Member function must be called or its address taken
Подскажите что не так, вроде для изменения шрифта прописал : if(FontDialog1->Execute())
Label1->Font=FontDialog1->Font; всё прекрасно работает. Если совсем глупая ошибка, не ругайтесь, я ещё чайник, только 1 курс =) С изменением фона бегущей строки и направлением движения, думаю разберусь, но если не трудно, подскажите что нужно использовать для этого, или какую команду прописать в кнопке. Хотел добавить обновлённую программу, мб кому и понадобиться, но что-то не нашёл как это сделать повторно, поэтому вот код программы: //---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int x = 4;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner):TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
if (Label1->Left+Label1->Width <= Panel2->Width-Panel2->Width)Label1->Left = Panel2->Width;
Label1->Left = Label1->Left - x;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
if (Sender == SpeedButton1)Label1->Caption = Edit1->Text;
if (Sender == SpeedButton2)
{
Timer1->Interval = Timer1->Interval - 10;
x += 2;
if (Timer1->Interval == 1)SpeedButton2->Enabled = false;
Label2->Caption = IntToStr(101 - Timer1->Interval);
SpeedButton3->Enabled = true;
}
if (Sender == SpeedButton3)
{
Timer1->Interval = Timer1->Interval + 10;
x -= 2;
if (Timer1->Interval == 101)SpeedButton3->Enabled = false;
if (Timer1->Interval == 101)Label2->Caption = IntToStr(102 - Timer1->Interval);
else Label2->Caption = IntToStr(101 - Timer1->Interval);
SpeedButton2->Enabled = true;
}


}
//---------------------------------------------------------------------------

void __fastcall TForm1::N5Click(TObject *Sender)
{
if(FontDialog1->Execute())
Label1->Font=FontDialog1->Font;
}
//---------------------------------------------------------------------------
Turbokill вне форума Ответить с цитированием
Старый 05.05.2013, 21:11   #3
tools
Форумчанин
 
Регистрация: 07.10.2008
Сообщений: 213
По умолчанию

Lines - это свойство Memo, а не Edit'a. То же самое и с методом LoadFromFile() - это член класса TStrings

Последний раз редактировалось tools; 05.05.2013 в 21:15.
tools вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
бегущая строка Gennadiy JavaScript, Ajax 3 15.05.2012 09:39
Builder C++ Бегущая строка Gintok Помощь студентам 0 18.11.2010 17:42
Бегущая строка vitamin.rulez Помощь студентам 8 28.01.2009 21:48
помогите где можно скачать триальную версию BDS 2006, Delphi 2006 или С++Builder. gennad_ugryumov Софт 3 28.01.2009 18:00
Бегущая строка и about Патрон Общие вопросы Delphi 12 02.06.2008 22:31