Witam. Potrzebuję zrobic, cos takiego, aby po 2-krotnym nacisnieciu na wiersz w stringgridzie cos sie tam dzialo? Jak to zrobic..raczej DblClick na stringgridzie odpada, bo nawet jak na fixed nacisne to mi sie cos dzieje....
nie ma dblclick na wierszu - musisz obsłużyć dblclick dla grida i sprawdzać gdzie kliknięto np. tak
oki, a tak przy okazji jest jakas funkcja co zwraca True albo cos takiego, jezeli string jest liczba?
- Val zwraca kod błędu, jeśli podczas konwersji takowy wystąpił,
-
TryStrToInt zwraca
True
, jeśli konwersja się powiodła, a jeśli nie toFalse
;
Mniej pytaj, a więcej szukaj i czytaj.
Jest TryStrToInt
i poczytaj kursy z podstawami, to poznasz wiele innych ciekawych funkcji i rozwiązań.
EDIT: FP mnie ubiegł, bo miałem otwartą zakładkę z tym wątkiem dłuższą chwilę.
I jeszcze
TryStrToFloat
abrakadaber napisał(a):
musisz obsłużyć dblclick dla grida i sprawdzać gdzie kliknięto np. tak
Albo po prostu odczytać Col i Row.
wyskoczylo mi cos takiego:
[DCC Error] Unit3.pas(192): E2250 There is no overloaded version of 'TryStrToInt' that can be called with these arguments
a moja funkcja wyglada tak
function poprawnosc: Integer;
begin
if(TryStrToInt(Form3.Edit3.Text) = true) then
poprawnosc:=1
else poprawnosc := 0;
end;
W tej funkcji bedzie wiecej tylko chodzi mi o samo to...
Czy Ty do 100 tysięcy niegooglujących leniuchów możesz jednak skorzystać z google, zanim zapytasz o cokolwiek? Wielką radość byś tym sprawił czytającym to forum. A poza tym konstukcja = True
jest dopuszczalna, aczykolwiek lepiej pisać bez tego, a w przypadku sprawdzania czy coś - False
po prostu stosować poprzedzenie sprawdzenia not
. Pomijamy fakt, że @furious programming podal link do opisu tej fukncji, no ale po co kliknąc i przeczytać. Lepiej smarować na forum, z myślą "a co mi tam, olać google".
Twój kod @andrzejbodziuzbychujarek można skrócić do poniższego:
function Poprawnosc(): Integer;
begin
Result := Integer(TryStrToInt(Form3.Edit3.Text, Result));
end;
chyba wiesz czym jest rzutowanie? Rzutowanie Boolean
na Integer
zwróci 0
jeśli False
, jeśli True
to 1
; Na przyszłość klikaj w linki jakie podaję, bo po to je podaję żeby klikać :]
Rozumiem, tylko jak siedze po nocach to ciezko mi cokolwiek znaleźć, a tu wiem ze dostane szybko pomoc i odpowiedz...Takze forum jest po to by z niego korzystac. Dzieki za pomoc...:)
Mozecie mi jeszcze tak szybko pomoc Jak zablokowac EditText przed wprowadzaniem Liczb?
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key in ['0'..'9'] then Key:= #0;
end;>
Oczywiście to nie zabezpieczy przed wklejaniem.
kAzek napisał(a):
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key in ['0'..'9'] then Key:= #0;
end;>
Oczywiście to nie zabezpieczy przed wklejaniem.
A to:
if Key in ['0'..'9',#22] then Key:= #0;
No to pozostaje jeszcze albo ustawienie PopupMenu
na jakieś puste utworzone TPopupMenu
i/lub własna obsługa WM_PASTE
przez subclassing takiego Edita. Żeby nie można było wklejać przez prawoklik z menu lub choćby kombinację Shift+Insert
.
Jest jeszcze taki wynalazek jak TMaskEdit ...
@kAzek @_13th_Dragon @olesio a po co się tak męczyć jak OnChange wykonuje się w każdym z tych wypadków