|
|
Strona 1 z 1
|
[ Posty: 4 ] |
|
Wysłanie klawisza [HMP 2013.1]
Autor |
Wiadomość |
Bartosh89
Rejestracja: 2010-11-04, 21:15 Posty: 84 Pomógł: 2
|
Wysłanie klawisza [HMP 2013.1]
Witam, Mam stworzony raport na podstawie mxgrida. Po wykonaniu suba przypisanego pod klawisz chciałbym zamknąć całą formatkę od mxgrida. Czy istnieje możliwość wysłania klawisza "ESC" w ambasicu ?? Spowodowałoby to wtedy że raport by się zamykał. Użycie polecenia error"" albo exit nic nie pomaga. Z góry dziękuję za odpowiedź.
|
2013-11-05, 15:39 |
|
|
Autor |
Wiadomość |
Mix-soft.pl
|
|
|
rafal
Ekspert
Rejestracja: 2007-11-16, 15:08 Posty: 4000 Pomógł: 448
|
Re: Wysłanie klawisza [HMP 2013.1]
Pokaz kod.
|
2013-11-05, 16:01 |
|
|
Bartosh89
Rejestracja: 2010-11-04, 21:15 Posty: 84 Pomógł: 2
|
Re: Wysłanie klawisza [HMP 2013.1]
Kod: #define ftMoney 2 #define ftDate 3 #define ftDrop 0x80 #define ftString 0 #define fmFindExact 0x0400 #define fmFindInside 0x1000 #define fmSelect 0x4000 Dispatch grd Int selRow, selCol long ilwierszy string sserver = "bz-pc" string sbaza = "hurtownia" int i,j string snip
int sub sciaganie() IORec iorecExp
iorecExp.SetField("typImportu", "1") // eksport w formacie 3.0 iorecExp.SetField("sterownik", "ie9.dll") // standardowy sterownik iorecExp.SetField("plikDanych","X:\\kontr.txt") // plik docelowy iorecExp.SetField("plikSzablonu", "X:\\hmin.ams") // plik docelowy iorecExp.SetField("trybInterakcji", "1") iorecExp.SetField("showProgressBar", "1") //pasek postępu ma być widoczny // po wyeksportowaniu będą oznaczone •
Importuj(iorecExp) Endsub
int sub grd_KeyPress(dispatch q)
if q.value(1) == 32 then sciaganie() endif
Endsub
Int sub zbierzdane() string sConStr int i,j,m sConStr = "Driver={Pervasive ODBC Client Interface};ServerName="+sserver+";ServerDSN="+sbaza+"" Dispatch con dispatch hm string SQL #define adOpenStatic 3 hm = "ADODB.Recordset" con = "ADODB.Connection" con.ConnectionString = sConStr con.CommandTimeout = 5000 con.Open SQL = "select nip, nazwa, id, miejscowosc, kodpocz,ulica,dom,lokal from kh where nip like '"+snip+"%'" hm.open( SQL, con, adOpenStatic) while !hm.eof grd.Rows(i).Value(0) = hm.fields("nip").value grd.Rows(i).Value(1) = hm.fields("nazwa").value grd.Rows(i).Value(2) = hm.fields("id").value grd.Rows(i).Value(3) = hm.fields("miejscowosc").value grd.Rows(i).Value(4) = hm.fields("kodpocz").value grd.Rows(i).Value(5) = hm.fields("ulica").value grd.Rows(i).Value(6) = hm.fields("dom").value grd.Rows(i).Value(7) = hm.fields("lokal").value i += 1 hm.movenext() wend hm.close() con.Close() EndSub
Int sub OnCommand(Int id, Int msg) if id == 0 && msg == 0 then
grd.ColumnCount = 8
grd.RowCount = 100 grd.Zoom = 150 grd.Editmode = 0x100+3 grd.Execute(23)
grd.Columns(0).Locked = 1 grd.Columns(0).Name = "NIP" grd.Columns(1).Locked = 1 grd.Columns(1).Width = 300 grd.Columns(1).FieldType(ftString,300) grd.Columns(1).Name = "NAZWA" grd.Columns(2).Locked = 1 grd.Columns(2).hidden = 1 grd.Columns(2).Name = "ID" grd.Columns(3).Locked = 1 grd.Columns(3).FieldType(ftString,300) grd.Columns(3).Name = "MIEJSCOWOŚĆ" grd.Columns(3).Locked = 1 grd.Columns(4).FieldType(ftString,300) grd.Columns(4).Name = "KOD POCZTOWY" grd.Columns(4).Locked = 1 grd.Columns(5).FieldType(ftString,300) grd.Columns(5).Name = "ULICA" grd.Columns(5).Locked = 1 grd.Columns(6).FieldType(ftString,300) grd.Columns(6).Name = "DOM" grd.Columns(6).Locked = 1 grd.Columns(7).FieldType(ftString,300) grd.Columns(7).Name = "LOKAL" grd.Columns(7).Locked = 1
zbierzdane() endif
endsub
FORM "Szukaj po NIP-ie", 420, 88 EDIT "", snip, 12, 24, 304, 24 TEXT "Wprowadź początek NIP-u kontrahenta:", 12, 4, 304, 16 BUTTON "OK", 320, 4, 88, 48,3 Execform
Form "BAZA KONTRAHENTÓW:", 1000, 570
Control "grid", grd, 5, 5, 999, 500
Button "Zamknij",700, 510, 100, 25, -2
ExecForm OnCommand Jest to wersja robocza raportu. Polegać ma na sprawdzaniu kontrahenta po nipie w bazie głównej i przeżucanie go do bazy oddziału firmy. Oprogramowałem aby wybranie kontrahenta nastąpiło po kliknięciu spacji. Da radę żeby zrobić to za pomocą klawisza enter ?? Z góry dziękuję za odpowiedź.
|
2013-11-05, 17:02 |
|
|
rafal
Ekspert
Rejestracja: 2007-11-16, 15:08 Posty: 4000 Pomógł: 448
|
Re: Wysłanie klawisza [HMP 2013.1]
(1)
Zobacz może ten kawałek będzie dla Ciebie pomocny. Przykład zamyka okno przy dwukrotnym kliknięciu na wiersz mxGrida (np:. po wybraniu kontrahenta w Twoim przypadku) Kod: dispatch g int iBut
int sub OnCommand(int id, int msg)
if id == 0 && msg == 0 then
G.Locked = 0 G.ColumnCount = 2 G.RowCount = 5
G.Columns(0).FieldType( 0, 100) G.Columns(0).Width = 120 G.Columns(0).Name = "Kolumna 1"
G.Columns(1).FieldType( 0, 100) G.Columns(1).Width = 120 G.Columns(1).Name = "Kolumna 2"
endif endsub
int sub G_OnDblClick(dispatch par) // naciskamy przycisk "Zamknij" programowo SendDlgItemMessage( iBut, 0x0201) endsub
int sub showForm() FORM "Przykład", 296, 216 CONTROL "grid", G, 4, 8, 280, 132 iBut = BUTTON "Zamknij", 200, 156, 72, 24,-1 showForm = Execform OnCommand endsub
showForm() error ""
|
2013-11-05, 17:38 |
|
|
|
Strona 1 z 1
|
[ Posty: 4 ] |
|
Kto jest online |
Użytkownicy przeglądający to forum: Nie ma żadnego zarejestrowanego użytkownika i 31 gości |
|
Nie możesz tworzyć nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz dodawać załączników
|
|
|
|