Поиск:

Ответ в темуСоздание новой темы Создание опроса
> onClick - первое и второе нажатие 
V
    Опции темы
DCamer
Дата 14.5.2010, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 29.1.2010

Репутация: нет
Всего: нет



Как работать с двумя нажатиями на кнопку? Например, первое нажатие добавляет в начало edit'а минус, второе нажатие его убирает.

Код

//---------------------------------------------------------------------------
void __fastcall TForm1::Button15Click(TObject *Sender)
{
  Edit1->Text!="-"+Edit1->Text; // добавление минуса в начало
}
//---------------------------------------------------------------------------


Это сообщение отредактировал(а) DCamer - 14.5.2010, 17:33
--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
DarkProg
Дата 14.5.2010, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Законченный романтик
***


Профиль
Группа: Завсегдатай
Сообщений: 1784
Регистрация: 11.3.2009
Где: Земля

Репутация: нет
Всего: 19



Считываете первый символ:если символ равен минусу, значит убираете в противном случае добавляете.


--------------------
"И твоя голова всегда в ответе за то куда сядет твой зад..."

"Я студент - скажите с какого я ВУЗа..."

 smile  smile  smile 
PM MAIL   Вверх
DCamer
Дата 14.5.2010, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 29.1.2010

Репутация: нет
Всего: нет



Я не знаю как убирать символ, а как добавлять знаю...

Это сообщение отредактировал(а) DCamer - 14.5.2010, 17:51
--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
SVN74
Дата 14.5.2010, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 5.5.2008
Где: Комсомольск на Дн епре

Репутация: 11
Всего: 18



Копируйте во временную строку, редактируйте..
Edit1->Clear();
Затем присваивайте снова.

или просто присвивайте новую стороку...

Это сообщение отредактировал(а) SVN74 - 14.5.2010, 18:01
PM MAIL WWW   Вверх
DCamer
Дата 14.5.2010, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 29.1.2010

Репутация: нет
Всего: нет



Цитата(SVN74 @  14.5.2010,  18:59 Найти цитируемый пост)
Копируйте во временную строку

В таком случае скопирует и минус...
--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
cyberstream
Дата 14.5.2010, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 7.9.2006

Репутация: 2
Всего: 4



Код

void __fastcall TForm1::Button1Click(TObject *Sender)
{
     Edit1->Text = Edit1->Text.Pos('-')==1 ? Edit1->Text.Delete(1,1) : "-"+Edit1->Text;
} 


AnsiString F1 вам очень поможет…

Это сообщение отредактировал(а) cyberstream - 14.5.2010, 18:12
--------------------
Не знаешь кого спросить? - Спроси google!
PM MAIL   Вверх
DCamer
Дата 14.5.2010, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 29.1.2010

Репутация: нет
Всего: нет



Хороший калькулятор получается  smile 

cyberstream, спасибо!
--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
DarkProg
Дата 14.5.2010, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Законченный романтик
***


Профиль
Группа: Завсегдатай
Сообщений: 1784
Регистрация: 11.3.2009
Где: Земля

Репутация: нет
Всего: 19



Вот нашёл кусочек кода пока Builder'ом чуток баловался здесь дёргаются два последних символа

Код

char * s = "Hello World";
char s2[2];
s2[0] = s[strlen(s) - 1];
s2[1] = s[strlen(s) - 2];


Вам нужно тоже самое только задать массив символов длинной меньше на один туда скопировать и т.д.

А вообще может быть есть функция Delete('тута пишите строку', позицию с которой удаляете, сколько удаляем) - по аналогии с дельфой(ну вдруг есть - я просто незнаю)

Хм, пока искал уже нашли другие

Это сообщение отредактировал(а) DarkProg - 14.5.2010, 18:14


--------------------
"И твоя голова всегда в ответе за то куда сядет твой зад..."

"Я студент - скажите с какого я ВУЗа..."

 smile  smile  smile 
PM MAIL   Вверх
DCamer
Дата 14.5.2010, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 29.1.2010

Репутация: нет
Всего: нет



Цитата(DarkProg @  14.5.2010,  19:14 Найти цитируемый пост)
А вообще может быть есть функция Delete('тута пишите строку', позицию с которой удаляете, сколько удаляем) - по аналогии с дельфой(ну вдруг есть - я просто незнаю)

А если позиция неизвестна? Например, конец строки с неизвестной длиной?
--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
cyberstream
Дата 14.5.2010, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 7.9.2006

Репутация: 2
Всего: 4



AnsiString F1 поведает о функциях Pos, Length, многих весьма полезных других…

--------------------
Не знаешь кого спросить? - Спроси google!
PM MAIL   Вверх
DCamer
Дата 14.5.2010, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 29.1.2010

Репутация: нет
Всего: нет



cyberstream, я help не ставил  smile 
--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
cyberstream
Дата 14.5.2010, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 7.9.2006

Репутация: 2
Всего: 4



Это всё равно что обзавестись самолётом, без инструкции к нему, в коей ясно описано, что и как на нём делать можно, а чего лучше не стоит.

И при этом пытаться на нём взлететь …
--------------------
Не знаешь кого спросить? - Спроси google!
PM MAIL   Вверх
DCamer
Дата 14.5.2010, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 29.1.2010

Репутация: нет
Всего: нет



"AnsiString" говорите... нет там такого!
--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
SVN74
Дата 14.5.2010, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 5.5.2008
Где: Комсомольск на Дн епре

Репутация: 11
Всего: 18



Цитата(DCamer @  14.5.2010,  21:20 Найти цитируемый пост)
"AnsiString" говорите... нет там такого! 


    
Код

int t = this->Edit1->Text.Pos("-");
    if(t)
    {
        this->Edit1->Text = this->Edit1->Text.SubString(0, t-1)
                        + this->Edit1->Text.SubString(t+1, this->Edit1->Text.Length()-t);
    }

Вот пример "выкидания" минуса, надеюсь "вкидание"  сделаете сами...
PM MAIL WWW   Вверх
DCamer
Дата 14.5.2010, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 29.1.2010

Репутация: нет
Всего: нет



SVN74, "выкидание" и "вкидание" минуса организованы.
Я сейчас про кнопку Backspace как в Калькуляторе Windows

Это сообщение отредактировал(а) DCamer - 14.5.2010, 22:50
--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0549 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.