277
Hogyan lehet lekerdezni az IP cimet Delphiben?
  • Etman
    #237
    Üdv!
    Nem tudja valaki hogyan lehet delphiben egy winformba flash animációt berakni?
    Vagy delphin belül valahogy ezt megcsinálni.
    plz help...
  • goofy1984
    #236
    Valahogy nem lelem. Valami konkrét példát tudnál írni? Letöltöttem egy csomó cuccot, de a D3DDEVCAPS_TEXTUREVIDEOMEMORY-nál, meg a többinél ugyanazt írja ki minden gépnél.
  • mrzed001
    #235
    IDirect3D8::GetAvailableTextureMemory()
    A jedi-n találsz DirectX-es komponenscsomagot ha jól emlékszem, az kell hozzá.
  • goofy1984
    #234
    Hello!
    Hogyan lehet lekérdezni a videokártya memóriájának a méretét és hogy abból mennyi szabad? Van ilyen?
  • PetruZ
    #233
    Nagy irodalma van az ilyesminek, a programozási irányzatok egyik fő ága a valós idejű kifejezés-kiértékelés és -feldolgozás problémája. Vannak nyelvek, amelyekben egyszerűen ezt úgy oldották meg, hogy programoknak korlátozott hozzáférést adtak a rendszer kiértékelő részéhez, ami pl. stringet esz meg, és a végén kiköp belőle valamit. Pl. a php vagy a FoxPro is ilyen, de ezek script-szerű, tokenizált nyelvek, a bennük írt programok nem gépi kódra fordulnak le, hanem köztes kódsorokra és az interpreter (vagy a runtime modul) futásidőben dolgozza fel őket. A Delphi pont nem ilyen, neki külön kell írni ilyen eszköztárat / komponenst. A "run-time expression evaluation" kifejezések környékén keresgélj. A Torry.net-en van több ilyen is, forráskódokkal együtt (pl. ArtFormula, CalcExpress (azt hiszem, te pont ilyet akarsz csinálni), Calculate, stb.), sok sikert a tanulmányozásukhoz. :)
  • goofy1984
    #232
    Hello!
    Azt szeretném megtudni, hogyan lehet azt megcsinálni, hogy amit bekérek (pl.: edit-ben) matematikai műveletet (pl.: (2*2)+6), azt kiszámolja egy másik változóba. Tehát valahogy egy string-et kéne átnyomni.
    szam:=10 legyen a végén
  • MerlinW
    #231
    Olvasgatnod kellene még...:)
    Pontosan mit szeretnél? Írd le lépésről lépésre a terved.
  • Harris
    #230
    Sziasztok
    Van egy Hatalmas problemam!!!
    Irtam egy programot delphiben es azt akarom hogy ugy mukodjon hogy telefonon keresztul lehessen aktivalni!!
    A hardwer kulcsot megkapom de hogy kell *.lic fajlot csinalni!!
    olvasgattam a temarol es valami activex dolgokat ir!!
    az az igazsag hogy abszolut halvany gozom sincs rola hogy a Delphi e resze hogy mukodik!!!
    surgos nagyon
    elore is koszonom nektek!!!!!!!!!!!!!!!!!!!!
    sziasztok!!
  • mrzed001
    #229
    DBase file-okat lehet vele SQL-el buherálni direktbe, tehát nem kell hozzá telepíteni semmit a gépre.
    Minden tényleges adatbázis szerver telepítős ha jól emlékszem

    Hogy egy DB kezeléséhez nem kell telepíteni kliensen semmit az megoldható Interbase-el (csak egy dll), illetve ADO alapból van XP-ben (tehát ahhoz nem kell semmi)
  • PíszLávJuniti
    #228
    Saját rekordformátumot nem szeretnék használni, mert úgy az adatokat tartalmazó fájl mással nem igazán kompatiblis, ezért kéne szabváyos db.
    A Dbf komponens konkrétan mit takar?
  • mrzed001
    #227
    Az még rekordba is megoldható :)
    Telepítés nélkül ugyebár BDE sem megy, viszont van pár direct dbf komponens ha jól emlékszem
  • PíszLávJuniti
    #226
    Milyen adatbázist javasoltok delphihez amit ha kell máshonnan is el lehet érni, és kezeléséhez nem kell külön telepíteni szoftvert?
    Néhány ezer számot, szöveget kéne tárolni, lekérdezést és műveletet végezni velük.
  • hmhm
    #225
    képre rajzoláskor hozzáférési hibát ad erre:


    Image2.Picture := TPicture.Create;
    Image2.Picture.Bitmap := TBitmap.Create;
    Image2.Picture.Bitmap.Width := Image1.Width;
    Image2.Picture.Bitmap.Height := Image1.Height;

    showmessage('sss');
    if Image2.Height<3 then showmessage('sss');
    for i:=0 to Image2.Width-2 do
    for j:=0 to Image2.Height-2 do
    begin
    Image2.Picture.Bitmap.Canvas.Pixels[i,j]:=clYellow;
    // Edit1.Text:=IntTostr(i)+' x y '+IntTostr(j);;
    // Edit1.Refresh;
    end;


    erre pedig lefut, pedig csak a koordináták kiiratása a különbség..:


    [courier]
    Image2.Picture := TPicture.Create;
    Image2.Picture.Bitmap := TBitmap.Create;
    Image2.Picture.Bitmap.Width := Image1.Width;
    Image2.Picture.Bitmap.Height := Image1.Height;

    showmessage('sss');
    if Image2.Height<3 then showmessage('sss');
    for i:=0 to Image2.Width-2 do
    for j:=0 to Image2.Height-2 do
    begin
    Image2.Picture.Bitmap.Canvas.Pixels[i,j]:=clYellow;
    Edit1.Text:=IntTostr(i)+' x y '+IntTostr(j);
    Edit1.Refresh;

    end;
  • weise
    #224
    Sziasztok!
    Megoldaható-e az, hogy egy stringgrid tipusú táblázatomban a Font színe az egyik oszlopban zöld színű a másikban például piros legyen?
  • hmhm
    #223
    Típus hiba volt, és sikerült is tárcsáznom ezen keresztül.
    A helyes kód:

    var
    PhoneNumber : string;
    CommPort : string;
    NumberWritten : Cardinal;
    j: integer;
    begin
    {....}

    Igazság szerint még életemben nem használtam ilyen típust. 32 bites mint az integer, csak ez éppen előjel nélküli ..
  • PetruZ
    #222
    Csak futólag néztem meg a definíciókat, szemre egyedül a PChar() tűnik gyanúsnak. A PChar eleve pointert ad vissza, és te a '^'-val értéket akarsz rákényszeríteni. Próbáld elhagyni, vagy string-ként átadni (definíció szerint ott egy típus nélküli konstanst vár).
  • hmhm
    #221
    Modemre szeretnék AT parancsot kiküldeni, de az alábbi példakód részlet nem működik tökéletesen..
    A WriteFile() hívásánál hibát ír ki, méghozzá azt, hogy a paraméterek nem egyeznek a várt típusokkal.


    [courier]
    var
    hCommFile : THandle;

    procedure TForm1.Button1Click(Sender: TObject);
    var
    PhoneNumber : string;
    CommPort : string;
    NumberWritten : Integer;
    j: integer;
    begin
    PhoneNumber := Edit2.Text + #13 + #10;
    // 'ATDT 1-555-555-1212' + #13 + #10;
    CommPort := Edit1.Text;
    // 'COM2';
    {Open the comm port}
    hCommFile := CreateFile(PChar(CommPort),
    GENERIC_WRITE,
    0,
    nil,
    OPEN_EXISTING,
    FILE_ATTRIBUTE_NORMAL,
    0);
    if hCommFile=INVALID_HANDLE_VALUE then
    begin
    ShowMessage('Unable to open '+ CommPort);
    exit;
    end;
    {Dial the phone}
    NumberWritten:=0;
    if WriteFile(hCommFile,
    PChar(PhoneNumber)^,
    Length(PhoneNumber),
    NumberWritten,
    nil) = false then begin

    ShowMessage('Unable to write to ' + CommPort);
    end;
    end;

    procedure TForm1.Button2Click(Sender: TObject);
    begin
    {Close the port}
    CloseHandle(hCommFile);
    end;

  • Lord Zombie
    #220
    delphibe az excel és az access behívásakor kér egy jelszót meg egy nevet..vki tud adni 1 jelszót és egy nevet? :D
  • torokvmit
    #219
    de semmiképp se fontos cső.
  • torokvmit
    #218
    Sajnos csak egy linket kaptam s nem értettem meg az egősszet de akit érdekel a forráskód kiírása valami konstansokkal nme fájlművelettel az szétnézhet a http://www.nyx.net/~gthompso/quine.htm en és ha sikerült használhatót kihozni szolhat nekem a [email protected] címen.
  • hmhm
    #217

    Delphiben sokkal egyszerűbbnek néz ki, mint c ben, c++ ban, de ott gyorsabban sikerült összehoznom.
    Off vége

    Azért kösz :)
  • PetruZ
    #216
    Régebben írtam egy ilyesmit, csak úgy próbaképpen, de már nem emlékszem, hogyan is működött pontosan és a kód sincsen már meg. :) Úgy emlékszem, az alap komponensekkel dolgoztam, és az event-eken keresztül sikerült egy egyszerűbb chat-jellegű dolgot összehozni.
    Mindenesetre a torry.net VCL - Internet - Sockets részlegében rengeteg ingyenes és forrással ellátott (az FWS jelzésűek) tcp client/server komponens van, az egyik biztos jó lesz. :)
  • hmhm
    #215
    Igazság az, hogy nem szeretnék központi publikus címet beleépíteni. Egy játékprogiról lenne szó ami már megvan, egyszemélyes játékra ( gép ellen lehet játszani ), ezt szeretném kiterjeszteni, hogy lehessen neten egymás ellen. Átviteli sebesség nem kritikus, és összesen néhány bájtot kéne átvinni.
    Úgy gondolom, hogy adatbázis komponenst bevonni kicsit ágyúval lövés lenne :p
  • af27
    #214
    Mivel én még nem negyon tudok programozni (habár ki az aki azt állíthatja, hogy tud?) csak azt a módszert tudom neked elmondani, amit már használtam.

    Mivel eddigi programjaim adatbázis kezelést végeztek ezért interbase-t használtam.
    Ez arra is egy jó megoldás volt, hogy hálózaton kezeljek vele adatbázist.
    Ennek alapfeltétele sajnos az, hogy az un. interbase szervernek publikus ip címmel kell rendelkeznia a kliensek felé. (miden esetre igaz, arra is, ha LAN és arra is ha WAN hálózatról van szó)

    Nem tudom, hogy mit is akarsz pontosan csinálni. Mert ha meg lehet oldani adatbázisban, akkor szerintem interbase.(már írtunk benne privát chat-et, stb, stb).
    Azért utána nézek, hogy hogyan lehet megoldani IB mélkül.
    Ha lessz valami, akkor írok.
    Bye!
  • hmhm
    #213
    Néztem a gyűjteményt, de némelyik proginál hiányol fájlokat.

    Két progi közt hogy tudok neten kommunikálni?
    Próbáltam a TcpClient és TcpServer objektumot, a kapcsolat összejön ( megszűnik a blokkolódás amikor kapcsolódásra nyomok ), viszont nem küldi át a stringet:

    [courier]
    // kliens kuldi a srtinget
    procedure TForm1.Button2Click(Sender: TObject);
    begin
    if TcpClient1.Connect then begin
    showmessage(' megy ');
    TCPClient1.Sendln(' lal1234');
    end;


    end;



    // szerver varakozik, majd kiirja a fogadott stringet
    procedure TForm1.Button3Click(Sender: TObject);
    var s:string;
    begin
    TcpServer1.Waitforconnection;
    TcpServer1.Open;
    TCPServer1.Receiveln(s);
    ShowMessage(' uzenet ez volt :'+s);
    end;

  • af27
    #212
    THX
  • PetruZ
    #211
    Megfordítom a válaszokat:

    2. Ilyen nincs, a tiszta html az statikus nyelv. De lehet ilyet csinálni, csak ahhoz vmilyen scriptnyelv (pl. php) is kell.

    1. Ezerféle módja van, a legegyszerűbb pl. az Indy komponensek közül az TIdHttp kliens és annak Get() metódusa használata. A súgója bőséges infókat tartalmaz.
  • af27
    #210
    Boldog új évet kívánok mindenkinek!
  • af27
    #209
    Nnem tudom ez segít e neked.
    Programok

    Nekem is lenne egy kérdésem, tudom hogy van html topic is, de bízom a delphisekben.
    1- vagy egy olyan delhi allkalmazást szeretnék írni, ami megjeleníti egy weben találhatő fájl tartalmát(pl egy text fájlét).
    2- vagy html kódot, melyel ki lehet iratni egy fájl tartlmát(pl.: /home/tanlok/1.txt)
    Előre is kösz.
  • hmhm
    #208
    Hogy tudok delphiből kiadni ATAPI parancsot CD drivenak ?
  • hmhm
    #207
    "ami be van írva a progi forrásába fájlművelet nélkül tehát az"

    Mi is van ezzel?
    Fuss neki a probléma leírásának mégegyszer. Rövid mondatokkal, körülírva.
    Pá.
  • 4edikreg
    #206
    majd elmondom januárbann....
  • PetruZ
    #205
    Önmagát az exe-ből forráskóddá alakító Delphi program/eljárás nincs és nem is lehet megcsinálni. A Delphi nem olyan, mint pl. a Visual Basic/FoxPro vagy a Java, amelyek köztes interpreter kódot fordítanak, hanem full natívban rögtön optimalizált gépi kódot gyárt, amelyből az eredeti forrás már nem állítható vissza.
    Csak úgy tudom elképzelni, hogy a fordítás során resource-ként becsatolod a forrást is, és utána az már az exe része lesz, hordozhatod, és az exe-n belül akármit csinálhatsz vele.
  • 4edikreg
    #204
    te nam érted... nem fájlművelet.... nem nyítunk semmít nem mentünk semmmít csak a képernyőn kell megjelenjen a forráskód az első betütől az utolslóig.......
    és szerintem azt az Ackermant nem használják semmire de egy nagyon jó példa a rekurzív függvényre és bármi más függvénynél gyorsabban nő...
    (mért eddig mindenre rájöttél mire használod amit tanítottak?)
  • DirtyPio
    #203
    Sziasztok, volna egy kerdesem direkt programozokhoz: mikor hasznaljuk a gyakorlatban(pl. egy program megirasanal) az Ackermann fuggvenyt? A fuggveny igy nez ki matematikailag:
    n+1, ha m=0
    ack(m,n)=ack(m-1,1), ha n=0
    ack(m-1,ack(m,n-1)), ha n>0 em m>0
  • hmhm
    #202

    Progiban nyisd meg a forrást text fájlként és ciklusban irasd ki. ( vagy én nem értem a feladatot ? :)
  • torokvmit
    #201
    Nem arról van szó pár parancs és a képernyőn szépen meg kell jelenjen az egész ami be van írva a progi forrásába fájlművelet nélkül tehát az is jó volna ha filebe írná ki önmagát de ha beírom írja ki a begint be kell írjam, hogy írja ki a kiirás begint is és akkor ezt megint be kellene írnom és ha sikerülne is akkor ez végtelen ciklus,tehát csak ,megközelítőleg írja ki önmagát ez nekem kezd kissé magas lenni pedig megmondta a proffecor, hogy egyszerű
    (lehet neki mert ő tudja a cselét) de én nem sajna na sziasztok. még visszanézek néhánymillioszor cső.
  • PetruZ
    #200
    Disassemblert írni, ami önmagát disassemblálja futás közben kicsit kemény meló lenne, nem gondolod? ;)
    Sztem itt biztosan arról van szó, amit blackgamer írt.
  • hmhm
    #199
    attól függ.
    ha gépi kódban iratod ki akkor egyszerűbb talán, kódszegmesnt megcímzed bios int kel..
    már ez rég volt :P dos alatt valahogy így kellett megoldani, de win alatt nehezebb a jogosultságok miatt
  • blackgamer
    #198
    gondolom fájlba van mentve és onnan kell kiolvasni (egy kis fájlkezelés, semmi több)