Hirdetés
- Olcsó vs. drága egér: melyiknél érzed meg igazán a különbséget?
- Itt a Microsoft szörnyprocesszora, ami 132 maggal tarolhatja le a felhőt
- Az Inteltől – nem csak az Intelnek
- Alice Recoque-kal mutatná meg Európa hogyan kell szuperszámítógépet építeni
- Pokolian jól elrejtette egyik leghasznosabb hardverét az Intel
Új hozzászólás Aktív témák
-
g4dg3t
senior tag
Sender parameter megadja a hivo objektumot, tehat (Sender as TEdit).xxx formaban el tudod erni a peldany osszes property-jet es metodusat.
(Sender as TEdit).Name-el kapod meg a peldany nevet...ezt hasznalhatod ha el akarod agaztatni.
pl.:
...
if (Sender as TEdit).Name = 'Size' then
... -
g4dg3t
senior tag
celszeru beszerezni egy normalis NumericEdit komponenst, de ha nem akarsz kulso stuffot es tenyleg nincs szukseged mas ficsorre akkor a TEdit.OnKeyPress esemenyet kezeld le az alabbi koddal:
const EDITMAXVALUE = 10000;
var tmpNum: integer;
begin
if Key in ['0'..'9'] then begin
tmpNum:=StrToIntDef((Sender as TEdit).Text + Key,0);
if tmpNum > EDITMAXVALUE then Key:=#0;
end
else
if Key <> Char(VK_BACK) then Key:=#0;
end;
[Szerkesztve] -
g4dg3t
senior tag
úgy szerinted nem jó ha poszal megkeresem az első pontot, s index-1től kopizok?
Ha elofeltetelkent kikothetjuk, hogy a keresett resz elott nem fog ''.'' szerepelni a string-ben, akkor jo lehet ugy is. Tehat ''szin.ize bela.bigyo 0.0 0.0 0.0'' sornal gondot okozna.
Jol ertem, hogy a Pos fv-t belepesi feltetelkent hasznalod? Az igy vegtelen ciklust kell, hogy okozzon. Postold azt a while ciklust, este megneznem.
[Szerkesztve] -
g4dg3t
senior tag
legegyszerubben Pos, PosEx es Copy fuggvenyekkel (elofeltetel hogy a stringben mindig a 3. space-tol kezdodjek a kerdeses reszlet):
var
Ind: integer;
OutStr: string;
...
Ind:=Pos(#32,Sor);
if Ind > 0 then Ind:=PosEx(#32,Sor,Ind + 1);
if Ind > 0 then Ind:=PosEx(#32,Sor,Ind + 1);
if Ind > 0 then OutStr:=Copy(Sor,Ind + 1,Length(Sor) - Ind)
else OutStr:='';
...
Pos es PosEx fv helyett ciklust is szervezhetsz...kinek mi elegansabb.
[Szerkesztve] -
g4dg3t
senior tag
válasz
mandrake83
#1095
üzenetére
A gond az h lepteto ciklust hasznalsz es a cikluson belul torlod az elemet.
Ha peldaul a 2. korben (m=1) torlod a 2. elemet akkor az utolso korben (m=2) a
if (listbox4.selected[m]) and (listbox4.items[m]='valami') feltetel hibat fog okozni, mivel az Items[m] (m=2) kifejezessel kimutatsz a tombbol (ugyebar a tomb az elozo torles miatt (n-1) elemszamu lett).
Vagy atszervezed a ciklusod, vagy kiegeszited a felteteled egy plussz vizsgalattal igy:
...
if (m < Listbox4.Items.Count) and (Listbox4.Selected[m]) and (Listbox4.Items[m] = 'valami') then begin
... -
g4dg3t
senior tag
A gond ott van hogy elobb hivatkozol a parameterekre es csak kesobb hozod oket letre. Mikor meghivod a ParamByName metodust az SQL stringnek mar tartalmaznia kell a lekerdezest a parameterhivatkozasokkal egyutt!
Tehat helyesen:
...
with Query1, SQL do begin
Close;
Clear;
Add('SELECT *');
Add('FROM TranzTabla');
Add('WHERE (Datum>= :KezdDatum) AND (Datum<= :VegDatum)');
if LekerdFelhComboBox.ItemIndex > 0 then
Add('AND (Felhasznalo= :Felhaszn)');
if LekerdPartnerComboBox.ItemIndex > 0 then
Add('AND (Partner= :Partn)');
ParamByName('Felhaszn').AsString:=LekerdFelhComboBox.Text;
ParamByName('Partn').AsString:=LekerdPartnerComboBox.Text;
ParamByName('KezdDatum').AsDate:=LekerdDatePicker1.Date;
ParamByName('VegDatum').AsDate:=LekerdDatePicker2.Date;
Prepare;
Open;
end;
...
Lathatod azt is hogy mikor kell hivni a Prepare metodust (Open elott). Ez annyit csinal, hogy elore lefoglalja a Query futtatasahoz szukseges eroforrasokat igy a lekerdezes vmivel gyorsabban lefut!
[Szerkesztve] -
g4dg3t
senior tag
XP alatt nekem a kovetkezo keppen sikerult megoldani a meghajto talcajanak kinyitasat/becsukasat:
...
const
FILE_DEVICE_MASS_STORAGE = $2D;
METHOD_BUFFERED = 0;
FILE_READ_ACCESS = 1;
IOCTL_STORAGE_EJECT_MEDIA = (FILE_DEVICE_MASS_STORAGE shl 16) OR
(FILE_READ_ACCESS shl 14) OR
($202 shl 2) OR
(METHOD_BUFFERED);
IOCTL_STORAGE_LOAD_MEDIA = (FILE_DEVICE_MASS_STORAGE shl 16) OR
(FILE_READ_ACCESS shl 14) OR
($203 shl 2) OR
(METHOD_BUFFERED);
...
procedure TForm1.Button1Click(Sender: TObject);
var
CD_DVD_Handle: THandle;
ret: DWORD;
begin
//Ertelem szeruen F: helyere a sajat meghajtod betujele...szebb ha irsz egy fuggvenyt ami lekerdezi
CD_DVD_Handle:=CreateFile(PChar('\\.\F:'),GENERIC_READ,0,nil,OPEN_EXISTING,0,0);
if CD_DVD_Handle <> INVALID_HANDLE_VALUE then begin
//Talca kinyit
DeviceIoControl(CD_DVD_Handle,IOCTL_STORAGE_EJECT_MEDIA,nil,0,nil,0,ret,nil);
//Talca becsuk
DeviceIoControl(CD_DVD_Handle,IOCTL_STORAGE_LOAD_MEDIA,nil,0,nil,0,ret,nil);
CloseHandle(CD_DVD_Handle);
end;
end;
... -
g4dg3t
senior tag
Csak Win98-as kernel32.dll-ben talalhato meg a RegisterServiceProcess fuggveny!
Van egy tippem mire kellene ez neked
El akarod tuntetni a futo alkalmazasok kozul a progid? Eleg egyszeru a modja a project .dpr fajljaban allitsd az alkalmazas 'cimet' ures stringre...fura de a WIN feladatkezeloje ez alapjan sorolja be, hogy alkalmazasrol avagy folyamatrol van szo.
...
Application.Initialize;
Application.Title:='';
... -
g4dg3t
senior tag
válasz
killerjohn
#654
üzenetére
nem szeretek belehegeszteni a kodba komponensnevekre hivatkozasokat...szamomra attekinthetobb es foleg szebb ha egy sajat ciklus vegzi a keresest mondjuk Tag alapjan. (...mindenki mashogy csinalja...)
Új hozzászólás Aktív témák
- Gamer PC - R7 5800X, RTX 3070 és 16gb RAM + GARANCIA
- Gamer Pc - Ryzen 7 3800X, RTX 3060ti, 16gb RAM
- Acer Nitro 5 Gamer Laptop - 15,6 FHD IPS 144hz/ i7 10750H/ 32GB RAM/ RTX 3050Ti/1,5TB SSD
- Lenovo Thinkpad T14 G3 Golyóálló Üzleti Érintős Laptop 14" -50% i5-1250P 12Mag 16GB/512GB FHD+
- Samsung Odyssey G9 49" Oled 240Hz G-Sync, FreeSync VRR Gamer monitor Eladó
- Xiaomi 15 Ultra Silver Chrome 120 Hz WQHD+ LTPO AMOLED, Leica 1 + 200 MP periszkóp 16/512 GB
- Honor Magic V3 Black Hajtogatható csúcsmobil, nagy főképernyő + fedlapi kijelző 12/512 GB
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- GYÁRI TÖLTŐK Macbook Magsafe 2 Budapest,/MPL/Foxpost
- Telefon felvásárlás!! Samsung Galaxy A70/Samsung Galaxy A71/Samsung Galaxy A72
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest

El akarod tuntetni a futo alkalmazasok kozul a progid? Eleg egyszeru a modja a project .dpr fajljaban allitsd az alkalmazas 'cimet' ures stringre...fura de a WIN feladatkezeloje ez alapjan sorolja be, hogy alkalmazasrol avagy folyamatrol van szo.



