InputQuery a wartosc domyslna

dział ogólny

InputQuery a wartosc domyslna

Nowy postprzez miko » poniedziaÅ‚ek, 30 marca 2009, 12:22

Witam wszystkich
mam nastepujacy problem:


ponizszy kod:
Kod: Zaznacz cały
String v;

if(InputQuery("caption","prompt",v))
Label1->Caption=v;

wykonuje sie w taki sposób, ze wyrzuca okienko dialogowe w ktorym trzeba wpisac wartosc a ona przepisywana jest do Label1->Caption po nacisnieciu OK.
Czy ktos wie jak oprócz parametru caption i prompt dodac domyslna wartosc do pola Edit w wyswietlanym InputQuery? (zeby w okienku InputBox wyswietlal sie juz jakis tekst).
Wiem, ze taka mozliwosc jest przy zastosowaniu InputBox,
Kod: Zaznacz cały
Label1->Caption =InputBox("Caption","Prompt","Default");

ale wtedy nie mam mozliwosci sprawdzenia czy uzytkownik nacisnal OK czy Anuluj - cokolwiek klinknie uwytkownik kod wykonuje sie dalej biorac cokolwiek zostalo (lub nie) wpisane w InputBox.
Czy ktos wie jak dodac wartosc domyslna w InputQuery, ewentualnie zna alternatywne rozwiazanie?
Avatar użytkownika
miko
Bladawiec
Bladawiec
 
Posty: 29
Dołączył(a): poniedziałek, 30 marca 2009, 12:11
PodziÄ™kowaÅ‚ : 1
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
    NieznanyNieznana

Re: InputQuery a wartosc domyslna

Nowy postprzez kinio » poniedziaÅ‚ek, 30 marca 2009, 17:47

miko napisał(a):Czy ktos wie jak oprócz parametru caption i prompt dodac domyslna wartosc do pola Edit w wyswietlanym InputQuery?

Kod: Zaznacz cały
String v = Label1->Caption;  //<------------- ustaw poczatkowa wartosc v!!!
if(InputQuery("caption","prompt",v))
Label1->Caption=v;

Tak wystarczy, bo trzeci parametr jest typu in/out, dzięki zastosowaniu referencji.
Z parametru v wczytuje wartość początkową oraz później zapisuje do niej to co użytkownik wprowadził.
miko napisał(a):Wiem, ze taka mozliwosc jest przy zastosowaniu InputBox,
ale wtedy nie mam mozliwosci sprawdzenia czy uzytkownik nacisnal OK czy Anuluj

Tak, ale za to jest taka możliwość:
If the user chooses the Cancel button, InputBox returns the default value. If the user chooses the OK button, InputBox returns the value in the edit box.
Use the InputBox function when there is a default value that should be used when the user chooses the Cancel button (or presses Esc) to exit the dialog. If the application needs to know whether the user chooses OK or Cancel, use the InputQuery function instead.

Czyli w pewnym stopniu można to stwierdzić, poza sytuacją kiedy użytkownik wpisał wartość taką samą jak domyślna i kliknął OK.
Która funkcja lepiej pasuje do twojego programu to już Ty powinieneś wiedzieć.

Natomiast co do:
cokolwiek klinknie uwytkownik kod wykonuje sie dalej biorac cokolwiek zostalo (lub nie) wpisane w InputBox

to się zgadza i wszystko działa poprawnie - ale teraz pewnie wiesz dlaczego ;)

Pozdr!
If a machine is expected to be infallible, it cannot also be intelligent.
-- A.Turing
Avatar użytkownika
kinio
Homos antropiczny
Homos antropiczny
 
Posty: 67
Dołączył(a): poniedziałek, 14 lipca 2008, 08:51
PodziÄ™kowaÅ‚ : 0
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
    NieznanyNieznana

Re: InputQuery a wartosc domyslna

Nowy postprzez miko » wtorek, 31 marca 2009, 09:22

Kod: Zaznacz cały
String v = Label1->Caption;  //<------------- ustaw poczatkowa wartosc v!!!
if(InputQuery("caption","prompt",v))
Label1->Caption=v;



Dzieki wielkie :) To rozwiazalo caly problem :)
Pozdrawiam
Avatar użytkownika
miko
Bladawiec
Bladawiec
 
Posty: 29
Dołączył(a): poniedziałek, 30 marca 2009, 12:11
PodziÄ™kowaÅ‚ : 1
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 11 gości