Delphi

Jelentkezz be a hozzászóláshoz.

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

Star Trek fan vagyok, tehát egy IDEALISTA. Viszont magyar is vagyok, tehát egy HARDCORE REALISTA.

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.

\"meg fog azoknak a száma növekedni, akik bár minden rátermettség nélkül úgy érzik, hogy a nemzet vezéri szolgálatába kell állítaniuk \"halhatatlan\" erejüket\" Mein Kampf, Adolf Hitler

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:=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..:



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:=clYellow;
Edit1.Text:=IntTostr(i)+' x y '+IntTostr(j);
Edit1.Refresh;

end;

{ V Á Á } silkroad: lvl 11

#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 ..

{ V Á Á } silkroad: lvl 11

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.



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;

{ V Á Á } silkroad: lvl 11

#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? 😄
#219
de semmiképp se fontos csõ.
#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 😊

{ V Á Á } silkroad: lvl 11

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

{ V Á Á } silkroad: lvl 11

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!

AF27

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:


// 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;

{ V Á Á } silkroad: lvl 11

af27
#212
THX<#worship>

AF27

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

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.

AF27

hmhm
#208
Hogy tudok delphibõl kiadni ATAPI parancsot CD drivenak ?

{ V Á Á } silkroad: lvl 11

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á.

{ V Á Á } silkroad: lvl 11

#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.
#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?)

#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

A64 3500+, Asus A8N-SLI, 2x512mb ram(TWINMOS, CL 2.5), 7800GT 256mb/256bit

hmhm
#202

Progiban nyisd meg a forrást text fájlként és ciklusban irasd ki. ( vagy én nem értem a feladatot ? 😊

{ V Á Á } silkroad: lvl 11

#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 😛 dos alatt valahogy így kellett megoldani, de win alatt nehezebb a jogosultságok miatt

{ V Á Á } silkroad: lvl 11

#198
gondolom fájlba van mentve és onnan kell kiolvasni (egy kis fájlkezelés, semmi több)

#197
Hát ez nem pont delphi de szerintem a delphisek tudnak segíteni nekem, elõre is köszönöm
Próbléma:
Pascalban kellene írnom olyan programot mely kiírja saját forráskódját 1 az 1 ben pliz segítsetek.
af27
#196
Hát igen. Ez mind amit elmondtatok tény és való!
Én jelenleg ismerek egy embert, aki a mai napig unszkodik a delphi hallatán.
Igaz õ CNC gépeket javít, de lassan már európai hírnévre tesz szert.
Az utolsó érdekes akciója az volt, hogy egy hibás gép rendszerének a tartalmát kinyomtatta leporellóra (kb 3,5-4cm vastag köteg lett, kiterítette egy fojosón és négykézlább elkezdett az ASM kód fölött masírozni.

Mindez egy kicsit maradinak és õskorinak tünik, de õ meg todta oldani azt a problémát, amelyet a gép gyártójának a mérnökei nem tudtak. (ja, õ nem mérnök, havi 70ért hülyére dolgozza magát).

Ez is csak példa volt arra: HOGY A ZSENIALITÁS NEM MÁS, MINT JÓZAN PARASZTI ÉSZ ÜNNEPI RUHÁBAN!!!
<#vigyor3>

AF27

PetruZ
#195
Mondjuk az 500x az túlzás 😊, a modern procik esetében már nem olyan jelentõs az asm sebességelõnye, plusz még a compilerek is fejlõdtek, nagyon szép kódokat tudnak már azok is.
hmhm
#194
és 500 gyorsabb lesz az asm 😊

{ V Á Á } silkroad: lvl 11

PetruZ
#193
De az a 20 soros Delphi programocska lesz mondjuk alsó hangon 100k (konzolnál), vagy 500k (grafikus verzióban), míg az assembly-s 5000 sor monduk max. 40-50k. 😊
hmhm
#192
amit delphiben 20 sor megcsinálni, azt assemblyben 5000 😊

{ V Á Á } silkroad: lvl 11

af27
#191
Csak egy vicc, már biztos mind hallottátok(de feleveleníteni nem rossz):
"Amit nem lehet megcsinálni FORTRANban, azt meg lehet csinálni assemblyben. Amit nem lehet megcsinálni assemblyben, azt nem lehet megcsinálni."<#vigyor3>

AF27

PetruZ
#190
Tökmindegy, akár Delphiben is megadhatod hexa-ként, csak használd a megfelelõ prefixet ('$' jel). Mivel nem használtad, a fordító decimálisnak értelmezte (azaz a '378' mindig decimális lesz, míg a '$378' mindig hexa). Mivel betû nem volt benne, még csak ki sem akadt rajta. Ami teljesen normális mûködés.
A program nem a programozója akarata, hanem a kódban leírtak szerint fog mûködni, ez mindig igaz. 😊
af27
#189
Kösz mindenkinek a segitséget.
Tökéletesen mükszik.

AF27

hmhm
#188
lemaradtam :p

{ V Á Á } silkroad: lvl 11

hmhm
#187
888 al kipróbáltad ?
annak kell lennie. A képen HEXA érték van, a Word típusú változódnak meg decimális értéket adsz..

378 h
888 d
1101111000 b

{ V Á Á } silkroad: lvl 11

af27
#186
4 napos teljes mértékû szenvedéstõl szabadítottal meg.
Hálam örökké üldözni fog.

Az volt nálam az alap probléma, hogy dos-ból megmaradt, hogy hexadecimálisan kellet megadni a port címet. Valószínüleg ha tudnék olvasni, akkor hamar rájövök, hogy it decimálisan.

Az a lényeg, hogy köszi mindenkinek aki segített!
<#worship><#worship><#worship><#worship><#worship><#worship>

AF27

af27
#185
Egébként kösz szépen.

AF27

af27
#184

AF27

PetruZ
#183
Nem tudom... nem tûnik fel, hogy te most nem az LPT portra, hanem máshová (történetesen a diszkvezérlõnek) küldözgetsz jeleket? A 378 az decimális érték, ami hexa 0x17A-val egyenlõ. Az LPT port viszont a hexa 0x378-on van, ami decimálisan 888-as érték.
af27
#182
Kösz szépen.

AF27

hmhm
#181
holnap megteszem.

{ V Á Á } silkroad: lvl 11

af27
#180
unit Unit1;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation
procedure PortOut(Port:Word; Data:Byte); stdcall; external 'io.dll';
function PortIn(Port:Word):byte; stdcall; external 'io.dll';

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
PortOut(378,255);
end;

end.


és ha katt akkor reboot!

AF27

af27
#179
vagy az is jó lenne, ha küldenél nekem mellé még egy progit is amiben benne van, hogy te hogyan használod a portout-tot (vagy legalább azt a sort).

Azt tudom, hogy miért indúl újra vindózom(védelmi hiba, kékhalál olyasmi sebességgel, hogy ki sem bírja jelezni + reboot).

AF27

af27
#178
procedure PortOut(Port:Word; Data:Byte); stdcall; external 'io.dll';

Ugyebár, én ezt megtettem, beraktak agy button alá, de mikor rákatt, akkor újraindúl a gép.
Ez van a button alatt:
PortOut(378,255);
És így nem megy, a PortIn megy, de az out nem.
Küld már el a te io.dll-led! [email protected]


AF27