formularz

dział ogólny

formularz

Nowy postprzez morarz » poniedziaÅ‚ek, 16 listopada 2009, 12:49

Witam,

Czy możecie mi podpowiedzieć jak zrobić formularz który posiada możliwość wpisania cyfr w formacie 000-000 i przy kolejnym wpisaniu program będzie sugerował taką właśnię kombinację (czyli xxx-xxx) , ale jeżeli wpiszemy 00-000 ze dwa razy to taki format ma mieć większy priorytet i przy kolejnym wpisie ma sugerować właśnie xx-xxx ponieważ został częśćiej razy użyty.

Jaki do tego mógłbym użyć algorytm ?
Po możliwe nie warto wyciągać ręki...
Avatar użytkownika
morarz
Bladawiec
Bladawiec
 
Posty: 19
Dołączył(a): piątek, 30 stycznia 2009, 13:07
PodziÄ™kowaÅ‚ : 0
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
    NieznanyNieznana

Re: formularz

Nowy postprzez Koziol » poniedziaÅ‚ek, 16 listopada 2009, 13:07

Całości kodu nie chce mi się pisać tutaj masz taki wstęp który możesz łatwo rozbudować wykorzystując funkcje opisaną tutaj: http://cyfbar.republika.pl/chain.html#chain10 musisz tylko do jakiejś zmiennej zapisywać po ilu znakach ma być myślnik ;)

Kod: Zaznacz cały
unit1.h
private:   // User declarations
        bool dodano_myslnik;

unit1.cpp
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
        this->dodano_myslnik=false;
}
//---------------------------------------------------------------------------
#define DLUGOSC 2
void __fastcall TForm1::Edit1Change(TObject *Sender)
{
        if(!this->dodano_myslnik)
        {
                if(this->Edit1->Text.Length()==DLUGOSC)
                {
                        this->Edit1->Text=this->Edit1->Text+"-";
                        this->dodano_myslnik=true;
                }
        }
}


ale jeżeli wpiszemy 00-000 ze dwa razy to taki format ma mieć większy priorytet i przy kolejnym wpisie ma sugerować właśnie xx-xxx ponieważ został częśćiej razy użyty.

Co od tej części ja bym zrobil prostą liste struktur:
Kod: Zaznacz cały
struct a{
int gdzie_myslnik;
int ile_razy_wpisane;
a *next;
}_a;
// potem mozesz wyszukac gdzie jest najwieksza wartosc ile_razy_wpisane.
// Dzieki zastosowaniu takej metody możesz do listbox'a wrzucić wszystkie podpowiedzi (możliwość wyboru gdzie ma być myślnik).
Avatar użytkownika
Koziol
Intelektryk
Intelektryk
 
Posty: 144
Dołączył(a): niedziela, 13 lipca 2008, 17:36
PodziÄ™kowaÅ‚ : 8
OtrzymaÅ‚ podziÄ™kowaÅ„: 2
System operacyjny: Windows XP Pro SP2
Kompilator: C++ Builder
    NieznanyNieznana

Re: formularz

Nowy postprzez morarz » piÄ…tek, 20 listopada 2009, 22:23

Kurde dawno nie programowałem w Builderze.

ALe widze że sprytnie roziwązałeś tę metodę że po 2 znakach ma pojawić się myślnik "-", tylko jak zrobić żeby kursor nie wracał na początek zdania ?
Kod: Zaznacz cały
#define DLUGOSC 2


// Dzieki zastosowaniu takej metody możesz do listbox'a wrzucić wszystkie podpowiedzi (możliwość wyboru gdzie ma być myślnik).

How do this ?
Po możliwe nie warto wyciągać ręki...
Avatar użytkownika
morarz
Bladawiec
Bladawiec
 
Posty: 19
Dołączył(a): piątek, 30 stycznia 2009, 13:07
PodziÄ™kowaÅ‚ : 0
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
    NieznanyNieznana


Powrót do Ogólne problemy z programowaniem

Kto przeglÄ…da forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 1 gość