277
Hogyan lehet lekerdezni az IP cimet Delphiben?
  • blackgamer
    #37
    link
    link2
  • Monoton
    #36
    Meg lehet csinálni azt hogy delphiben letiltok egyes billentyűket?

    Adott egy prog amit delphiben írtam!!!

    Na most azt szeretném ha lebírnám tiltani a Ctrl+Alt+Del billentyűket
    Azért hogy ne lehessen így kilépni.

    Megoldható???
  • Roll
    #35
    köszi, már megy is. :-)
  • PetruZ
    #34
    Ez a forrásból van idemásolva? Bár gondolom, nem fejből írtad be... Mindegy, elsőre észrevettem, mi a bibi: ugyan csekkold már le a Button5Click()-en belül hogy honnan olvasol, de legfőképpen azt, hogy hová írsz!

    :)
  • Roll
    #33
    a problémám a button5-el van. Annak kéne a típusos fájlból szövegest csinálni.
  • Roll
    #32
    unit Unit1;

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls;

    type
    TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Memo1: TMemo;
    Button3: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Button4: TButton;
    Edit5: TEdit;
    Button5: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    private
    { Private declarations }
    public
    { Public declarations }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.dfm}
    type szemrec=record
    nev,cim,mhely:string[20];
    ber:longint;
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    var f:file of szemrec;
    t:textfile;
    st,smhely,sber,snev,scim:string;
    k:integer;
    rec:szemrec;
    begin
    assignfile(t,'d:\delphi\roland\feladat\szöveges.txt');
    reset(t);
    assignfile(f,'d:\delphi\roland\feladat\tipusos.dat');
    rewrite(f);
    while not eof(t) do
    begin
    readln(t,st);
    k:=pos('&',st);
    snev:=copy(st,1,k-1);
    delete(st,1,k);
    end;
    begin
    k:=pos('&',st);
    scim:=copy(st,1,k-1);
    delete(st,1,k);
    end;
    begin
    k:=pos('&',st);
    smhely:=copy(st,1,k-1);
    delete(st,1,k);
    end;
    begin
    sber:=copy(st,1,length(st));
    end;
    begin
    rec.nev:=snev;
    rec.cim:=scim;
    rec.mhely:=smhely;
    rec.ber:=strtoint(sber);
    write(f,rec);
    end;
    closefile(t);
    closefile(f);
    end;

    procedure TForm1.Button2Click(Sender: TObject);
    var t:file of szemrec;
    rec:szemrec;
    begin
    assignfile(t,'d:\delphi\roland\feladat\tipusos.dat');
    reset(t);
    while not eof(t) do
    begin
    read(t,rec);
    memo1.lines.add(rec.nev+' '+rec.cim+' '+rec.mhely+' '+inttostr(rec.ber));
    end;
    closefile(t);
    end;
    procedure TForm1.Button3Click(Sender: TObject);
    var t:file of szemrec;
    rec:szemrec;
    begin
    assignfile(t,'d:\delphi\roland\feladat\tipusos.dat');
    reset(t);
    seek(t,filesize(t));
    rec.nev:=edit1.text;
    rec.cim:=edit2.text;
    rec.mhely:=edit3.text;
    rec.ber:=strtoint(edit4.text);
    write(t,rec);
    closefile(t);

    end;

    procedure TForm1.Button4Click(Sender: TObject);
    var t:file of szemrec;
    rec:szemrec;
    kernev:string;
    begin
    assignfile(t,'d:\delphi\roland\feladat\tipusos.dat');
    reset(t);
    kernev:=edit5.text;
    while not eof(t) and (kernev<>rec.nev) do
    begin
    read(t,rec);
    truncate(t);
    end;
    closefile(t);
    end;


    procedure TForm1.Button5Click(Sender: TObject);
    var t:file of szemrec;
    rec:szemrec;
    g:textfile;
    stnev,stcim,stmhely:string[30];
    stber:longint;
    begin
    assignfile(t,'d:\delphi\roland\feladat\tipusos.dat');
    reset(t);
    assignfile(g,'d:\delphi\roland\feladat\szoveg.txt);
    rewrite(g);
    begin
    while not eof(t) do
    begin
    read(t,rec);
    stnev:=rec.nev;
    stcim:=rec.cim;
    stmhely:=rec.mhely;
    stber:=rec.ber;
    begin
    writeln(t,stnev);
    writeln(t,stcim);
    writeln(t,stmhely);
    writeln(t,stber);
    end;
    closefile(t);
    closefile(g);
    end;
    end.
  • Roll
    #31
    sziasztok!
    szükségem lenne egy kis segítségre, van egy feladat amiben egy típusos fájlt kell átraknom szöveges fájlba. A típusos fájlnak a rekordjai:nev,cím,ber,mhely.

    hogy lehet ezt megcsinálni??
  • Roll
    #30
    Köszi.
  • PetruZ
    #29
    Hát, számelméleti matematika nélkül, a legegyszerűbben a lényeg:

    osszeg:=0;
    utolso:=2;
    while osszeg<keresett_szam do begin
    osszeg:=osszeg+utolso;
    utolso:=utolso+2;
    end;
    utolso:=utolso-2;
  • Roll
    #28
    Egy ilyet hogy kell megcsinálni:

    Adja össze a páros számokat addig még az összege eléri az editboxba írt számot. Írassa ki az összeget és azt hogy melyik volt az utolsó szám.

  • PetruZ
    #27
    Nem kell deklarálni, mert a Pi az konstans, vmelyik alap unit-ban már deklarálva van.
  • Roll
    #26
    Rájöttem, b....a meg. pi:real sor hülyeség és egyből működik.
  • Roll
    #25
    real-el már elfogadja, de furcsa szám jön ki

    Így írtam be:
    var r,t:real;
    pi:real;
    begin
    r:=strtofloat(edit1.text);
    t:=sqr(r)*pi;
    label1.Caption:=floattostr(t);
  • Roll
    #24
    [Error] Unit1.pas(33): Incompatible types: 'Integer' and 'Extended'
  • Roll
    #23
    Petruz: Hogy fogadja el a Pí-t a delphi?

    Egy körrel kapcsolatos számításhoz kell, de beírom hogy pi és valamiért nem tetszik neki.
  • Roll
    #22
    Köszi szépen a segítséget!!
  • PetruZ
    #21
    Fene, elfelejtettem az ubb-ket. Szóval az utolsó előtti sor helyesen:

    if s[ i ] in [ 'a', 'A' ] then inc(abetu);
  • PetruZ
    #20
    Többféle megoldás is lehetséges, a legegyszerűbb lényege:

    abetu:=0;
    s:=edit1.text;
    for i:=1 to length(s) do
    if s in [ 'a', 'A' ] then inc(abetu);
    label1.caption:=inttostr(abetu);
  • Roll
    #19
    Van egy házim és kéne egy kis segítség.
    Tegyünk fel egy editet,egy labelt és egy buttont.
    Az editbe írt szövegben, gomb megnyomása után számolja meg hogy hány db 'a' betű van és írja ki a labelbe.
  • AtomHeart
    #18
    Nemtom, lehet, hogy hulyesegeket fogok beszelni, mert nem latom at, hogy mit akarsz elerni, meg Delphivel is reg foglalkoztam...szal ha valami hulyeseget mondanek, ne rohogj :^)

    Eloszor is a WndProc felulirasa helyett ket message procedure-el is kezelhetted volna a harom klikkelest, te tudod, hogy kenyelmesebb neked...

    DeleteTrayIcon() csak annyit tesz, hogy eltavolitja a talcaikont? Erre miert lenne szukseg epp kikapcsolaskor??
  • Imremagdi
    #17
    nem, manuálissan !!

    kicsit közelebb kerültem a megoldáshoz - ha a program indulásakor csak a tálca ikon látható(óra mellett) akkar a leállitás rendben végigmegy, ha a bal klikkel elöhozom a föablakot, akkor megint nem tudja bezárni a progit

    a tálca ikon kattintás figyelést a következő rész csinálja:

    ....
    procedure WndProc(var Msg: TMessage); override;
    .....
    procedure TForm1.WndProc(var Msg: TMessage);
    var p : TPoint;
    begin
    case Msg.LParam of
    WM_RBUTTONDOWN : //kattintás az egér jobb gombjával
    begin
    GetCursorPos(p); //a kurzor pozíciója a kattintáskor
    PopupMenu1.Popup(p.x,p.y); //a menü kinyitása
    end;
    WM_LBUTTONDBLCLK : //bal dupla-kattintás
    begin
    Form1.Show;
    end;
    WM_LBUTTONDOWN : //kattintás az egér bal gombjával;
    Begin
    Form1.Show;

    end;
    end;

    inherited; //a le nem kezelt üzenetek elintéztetése
    end;

    ha a CloseQuery esemény meghívodik, mert ha hozzárendelem a tálca ikon törtélst akkor az végrehajtódik, ha beirom a "Application.Terminate;" sort is, akkor leállításkor be zárja a progit csak nem folytatódik a leállitás folyamata. (most a WM_QUERYENDSESSION nem serepel a programban
  • AtomHeart
    #16
    Ja, azt hittem, hogy a programbol akarod lezarni a win-t. Hogy probalod lezarni a windowst? Manualison, vagy egy masik programbol?
  • AtomHeart
    #15
    Es megis mivel zarod le a windowst?
    Lasd ExitWindowsEx() a win32sdk helpben!
  • Imremagdi
    #14
    csináltam egy kis programot dephibe és ha fut a program és le akarom állitani a windowst , akkor a windows be tudja zárni a programot, de a leállitás folyamaa nem folytatódik tovább

    Idemásolom a kérdéses részt:

    .....
    procedure WMQUERYEndSession(var Msg:Tmessage); message WM_QUERYENDSESSION;
    .....
    procedure TForm1.WMQUERYEndSession(var Msg:TMessage);
    begin
    // Msg.Result:=1;
    Form1.Close;
    DeleteTrayIcon;
    inherited;
    end;

    Mi lehet a hiba? Ha adok visszatérésési értéket (Msg.Result:=1;) akkor ugyanugy a program bezáródik , de a kijelentkzés folyamata megszakad !
  • blackgamer
    #13
    olyanra gondolsz, hogy 3x+9=6x ? => x=3 ???
    egyszerűen rendezed az egyenletet és osztasz
    nem értem a kérdést igazából
  • Roll
    #12
    Valaki leírná nekem, hogy hogyan kell megoldani delphiben egy elsőfokú egyenletet?

    Előre is köszi.
  • nemcsakfeel
    #11
    EGyet értek :)
  • PetruZ
    #10
    Nem, olyan formában, ahogy leírtad, nem fog működni. Mindenképpen kell egy kliensprogi, ami mondjuk UDP-n keresztül beszélget a szerverprogival és ő jeleníti meg az ablakot (ami a kliensprogram része, de a szerver vezérelheti).
  • eminem21
    #9
    Hali szeretnék segítséget kérni, két kérdésben is, az első az lenne hogy vajon delphiben megoldható e hogy egy hálózatban lévő másik gép desktopján jelenik meg a lényegében server gépen futó program egy ablakja!Ha nem akkor vajon ezt hogy lehet megoldani.Ha igan akkor azt hogyan lehet megoldani. :) A másik nem is lényeges azt megoldom, csak ez lenne most nagyon fontos nekem. Aki tud segíteni kérem tegye azt mert nagyon fontos lenne. A választ kérem a [email protected] postaládába dobjátok be. Köszike!!
  • Antromorph
    #8
    üdv mindenkinek

    Ezt írta DozR:
    A következő kérdésem, hogy lehet-e delphi-ben adatbázist készíteni?

    A delphi programcsoportjában kell lennie egy Database Desktop programlinknek amivel meg lehet csinálni az üres táblákat. Majd ennek a táblának meg kell adni az elérését a BDE Administrátorban (hozzá kell rendelni egy adatbázishoz). Aztán működni fog delphi alatt is.


  • tom..
    #7
    ÜDv mindenkinek! a Deplhi 6 prof edition-hoz nem tud valalki egy serial-t?
  • banrob2
    #5
    Amennyire én tudom a Delphi 7-ig bezárólag nem lehet,
    de valószínűleg letölthető komponensként (VCL) találsz ilyet a neten.
  • banrob2
    #3
    Keresgélhetsz esetleg itt is:

    http://www.drbob42.com/

    vagy itt:

    http://delphi.about.com/


  • sc
    #2
    Koszi, mukodik, de sajna csak a belso IP-t mutatja (192.168.1.1). A kulso IP kellene. Mar ez is nagy segitseg volt.
  • banrob2
    #1
    Nem próbáltam ki, de ha minden igaz működik.

    http://www.swissdelphicenter.ch/torry/showcode.php?id=67