Hirdetés
-
Rövid előzetesen a S.T.A.L.K.E.R. 2: Heart of Chornobyl
gp Továbbra is szeptemberi premierrel számolnak a fejlesztők, reméljük több halasztásra már nem kell számítanunk.
-
Rossz üzlet az EV-kölcsönzés
it Küszködik az EV-kölcsönzés miatt a Hertz Global, még több EV-t adnak el.
-
Toyota Corolla Touring Sport 2.0 teszt és az autóipar
lo Némi autóipari kitekintés után egy középkategóriás autót mutatok be, ami az észszerűség műhelyében készül.
Új hozzászólás Aktív témák
-
Divi
aktív tag
-
btotyi
tag
Az alkalmazások valóban lehetnek kliensek de kell egy közvetítő réteg ami az alkalmazás (üzleti logika) kéréseit továbbítja az adatbáziskezelő szerver felé, illetve a válaszokat továbbítja az alkalmazás felé. Az FB-nél ez a ''kliens'' egy dll. Ilyen szempontból az ISQL is egy alkalmazás ami a felhasználó által beírt sql parancsokat továbbpasszolja az adatbázis kliensnek (fbclient.dll) és a szerver válaszait pedig kiírja a képernyőre.
-
Hani
aktív tag
Tiszteletem.
No, ha mar igy is megvan a topic, hasznalnam...
Nagy problemam: EditBoxokba ListBoxbol drag&droppal tennem a cuccokat, es meg szeretnem akadalyozni, hogy normalisan szoveget irhassak be.
Erre - gondoltam en - jo lesz, ha siman OnKeyDown(/Press/Up)-ra csinalok egy
With Sender As TEdit Do
Text:=´´;
eventkezelest. De nem. Mindenkepp berakja a Key-t is, amit az eventtol kap.
Nincs valami, ami kiveszi a Key-t, pl. vmi fFlush vagy hasonlo?
(Jo, persze megcsinalom OnChange-re Listaban-Van-E-Az-Uj-Szoveg - ellenorzessel, de azert erdekelne.) -
Divi
aktív tag
Az ilyen segítőkész emberek komolyan felbecsülhetetlenek
Köszönöm a válaszaidat.
(balszerencsédre) igérem jelentkezni fogok még
Egyelőre találtam egy korrektnek tűnő dokumenumot ami kitárgyalja a Delphi <-> IB kapcsolatokat. Bővebben: link Remélem érthető lesz, ha nem nem azt észre fogod venni
[Szerkesztve]lá lá lá lá lá lá lá Lila Liba gá gá gá gá gá gá
-
#57764352
törölt tag
Sziasztok!
Lenne egy nagy kérdésem.
Hogy lehet meghatározni a következőket: -legkissebb közös többszörös
- legnagyobb közös osztó
-relatív prímek!
Segítsetek! -
#57764352
törölt tag
UP
-
b14
senior tag
válasz #57764352 #111 üzenetére
HIHI
Az osztoit igy lehet meghatarozni egy szamnak (pascal megoldas, c-ben is kuldhetem, ha kell):
{osztoi.pas}
uses crt;
var a, b, szam, r , i, h,g : longint;
aszamai, bszamai: array [1..200] of longint;
begin
writeln('Kerem az ''A'' erteket');
readln(a);
writeln('Kerem a ''B'' erteket');
readln(b);
clrscr;
writeln('A szamai: ');
writeln;
for szam := a downto 1 do
begin
clrscr;
r:=0;
writeln('Most ',szam);
for i:=szam downto 1 do
begin
if szam mod i = 0 then
begin
writeln(szam div i);
inc(r);
aszamai[r]:=szam div i;
end;
end;
writeln;
writeln;
h:=r;
writeln('Ez osszesen ',r,' szam volt');
readkey;
end;
clrscr;
writeln('B szamai: ');
writeln;
for szam := b downto 1 do
begin
clrscr;
r:=0;
writeln('Most ',szam);
for i:=szam downto 1 do
begin
if szam mod i = 0 then
begin
writeln(szam div i);
inc(r);
bszamai[r]:=szam div i;
end;
end;
writeln;
writeln;
g:=r;
writeln('Ez osszesen ',r,' szam volt');
readkey;
writeln('Kozos osztoik: ');
for i:=1 to h do for r:=1 to g do if r = i then writeln(i);
end.
Ez egy eleg hosszu megoldas, igazabol nagyon is rogtonzott, lehet, hogy van benne hiba.
Legnagyobb kozos osztot ugyan ezen az alapon, csak egy kicsit kell rajta szerkeszteni, a relatív prímek csak egy kicsit belenyulni a legnagyobb kozos oszto progi
De juteszembe: if r = 1 then writeln('RELATÍV PRÍMEK!');
Ha kell meg tudom csinalni a tobbit is!
[Szerkesztve]''...de a konfigjából kiindulva, nem hiszem, hogy 40 éves családos ember lenne...'' -- by Slax
-
zenit
tag
válasz #57764352 #111 üzenetére
LNKO és relatív prím algoritmus:
pl. Bővebben: link
vagy: Bővebben: link
[Szerkesztve] -
Fko
tag
Akinek kérdése van, jöjjön el az induló Source Land-re és tegye fel ott is:
Bővebben: linkUHU Linux forever
-
_AnTi_
tag
Üdv mindenkinek!
Engedelmetekkel használnám én is ezt a topicot...
A következő lenne a kérdésem:
Hogyan tudok egy ProgressBar komponenst beletenni egy valamilyen listakezelőbe (StringGrid/ListView/ListBox vagy valami hasonló)?
Előre is köszönöm!Szép vagyok és okos, ügyes és aranyos...
-
lao ce
aktív tag
hat, talan magat a komponenst is bele lehet gyomoszolni, en mindenesetre custom draw-t hasznalnek es magam rajzolnam a progress bart a cellaba vagy sorba (attol fugg ugye hogy mit hasznalsz).
peldaul ha listview-nal maradunk, akkor a CustomDrawSubItem eventben lehet sajatokat alkotni.
nagyjabol arrol van szo hogy:
Item.DisplayRect(drBounds) a negyszogedet adja amit ippen rajzolsz;
Sender.Canvas.Brush.Color es Style amivel beallitod a szint es stilust;
FrameRect es FillRect ami tenyleg kirajzolja a rectangle-t;
aztan ezt akkorara rajzolod amit a progress-ed megkovetel. de teljesen ki tudod elni magad, azt teszel bele amit akarsz
csak elkezdeni nehez, aztan eleg elvezetes rajzolgatni.nicht kompot
-
lao ce
aktív tag
lenne nekem is egy kerdesem.
megfordult a fejemben eleg erosen, hogy szeretnek nehany kulonleges form megjelenulest csinalni - arra gondolok ahogy elobukkan egy uj form a kepernyon.
egy bitmapet mar lehet csurni-csavarni, szoval ugy gondolom, hogy az lenne a modja a dolognak, hogy
- megrajzolni a formot egy bitmapre (vagy megtalalni hogy a memoriaban hova rajzolodik es arra egy 'capture' szeru dolog?)
- aztan ez a kepet kicsavarni a kepernyore csilivili modon,
- megjeleniteni (folerajzolni) az igazi formot az igazi objektumokkal hogy ugyi mukodhessen.
- letorolni a bitmapet a form mogul.
azt hiszem kellene valami a form create es a form show kozott. mondhatna az ember hogy a show elott a form grafikailag nem letezik, de akkor a doublebuffer hogy mukodik? hisz az azzal kerkedik hogy eloszor megrajzolja a formot aztan egy lepesben megjeleniti!nicht kompot
-
zenit
tag
A Form az nem egy statikus kép, hogy egyszer kirajzolódik a Show hatására, és aztán úgy marad.
A tényleges rajzolás általában a Windows WM_PAINT esemény hatására történik, ami mindannyiszor meghívódik, ha pl. megváltozik az ablak tartalma (Invalidate) - vagy egyszerűen csak egy másik ablakot elhúzol felette! stb...
Delphi oldalon ezt a mechanizmust az OnPaint eseményben tudod elcsípni, ami mindannyiszor meghívódik, ha a formot újra kell rajzolni. Itt rajzolhatsz pl. hátteret a Formodnak. Használd a TForm.Canvas-t. -
lao ce
aktív tag
igaz, nem statikus, de nekem nem kell a frissites resze, csak egy 'capture' egy bitmap-be, de mielott(!) a kepernyore kirajzolodna barmi is.
a wm_paint / onpaint is OK, onpaint szimpatikus, de az onshow utan jon, az onshownal mar megjelenik a form, szoval ez tul keso.
raadasul meg mindig sotet folt elottem hogy lehet-e a formot nem a kepernyore rajzoltatni hanem bitmapbe.
ok, gondolom valamit kavarni kellene a memory bitmap-ekkel, es ez rendben van, elvileg tudom mirol van szo. de ha mondjuk probabol csinalok egy assgn-t egy memory bitmap canvasra... inkabb ideirom:
Bitmap.Canvas.Assign( Form1.Canvas )
akkor jon ez:
cannot assign a TControlCanvas to a TBitmapCanvas
[Szerkesztve]nicht kompot
-
-
lao ce
aktív tag
ezer koszonet a segitsegedert! kiprobaltam, szuperul alakul, valami bitmap bizony van a create es a show kozott amit visszaad.
lehet hogy kicsit belemaszok, mert a kapott kep eleg hmm... sematikus az onshow elott, se button se combo csak hatterszin, edit box meg mondjuk shape.nicht kompot
-
lao ce
aktív tag
egy szoval folytatva, hogy nem minden komponens tokeletes a kapott bitmap-ben.
ahogy melyebbre asom magam rajottem hogy vannak cegek akik ebbol a problemabol elnek es erre kinalnak megoldasokat.
en is joba kezdek bele.
talaltam egy helyet ami forrast mutat:
http://www.fengyuan.com/article/wmprint.html
de ez mar tul magasnan van irva nekem, megmondom oszinten eltartana ezer evig mire atirnam (merthogy a CPaintHook is kell ugyi)
[Szerkesztve]nicht kompot
-
Divi
aktív tag
Üdvözlök minenkit!
Azt szeretném, megtudni, hogy miként tudom a Delphiből kisajtolni, hogy hányszor 0,1mm re tud a nyomtató fizikilag nyomtatni!
Például szeretnék egy 1 mm vastag vonalat húzni a bal felső sarokból a jobb alsó sarkba.
...
Var szel,mag:Integer;
Begin
szel:= ???;
mag := ???;
printer.BeginDoc;
SetMapMode(printer.Canvas.Handle,MM_LOMETRIC);
printer.canvas.pen.width:=1;
printer.canvas.Moveto[0,0];
printer.canvas.lineto[szel,mag];
printer.EndDoc;
...
A pageWidth PageHeight visszaadja, hogy mekkora a nyomtatható terület pixelben. Ami jó is volna de ahhoz, hogy mm-ben tudjak pozícinálni kell a(z aktuális) nyomtató aktuálisan beállított DPIje. Na azt, hogy tudom kideríteni?
Válaszaitokat előre is köszönöm!lá lá lá lá lá lá lá Lila Liba gá gá gá gá gá gá
-
Divi
aktív tag
A probléma látszólag megoldódott. De mégse hajlandó Ténylegesen Nyomtatni.
A kód hibátlanul lefut.
Ám a nyomtató azon kívül, hogy átfuttatná magán a papírt egy köpést se nyomtat.
Vajh mitől lehet ez?
A kód:
Var szelesseg,magassag: Integer;
dpix, dpiy:Integer;
Begin
printer.Copies:=1;
printer.Orientation:=poPortrait;
printer.BeginDoc;
dpix:=GetDeviceCaps(Printer.Canvas.Handle, LOGPIXELSX);
dpiy:= GetDeviceCaps(Printer.Canvas.Handle, LOGPIXELSY);
szelesseg:=trunc((printer.PageWidth /dpix)*254); << megadja, hányszor 0,1 mm fér ki a lapra
magassag:=trunc((printer.PageHeight /dpiy)*254);
// showmessage('szélesség: '+inttostr(sz)); < ellenőrzés
// showmessage('magasság: '+inttostr(m));
SetMapMode(printer.Canvas.Handle,MM_LOMETRIC);
printer.canvas.pen.width:=15;
printer.Canvas.Pen.Color:=clBlack;
printer.canvas.Moveto(0,0);
printer.canvas.LineTo(sz,m);
//printer.Abort;
printer.EndDoc;
end;
ötletze valakinek?
Egyébént így BÁRMILYEN nyomtatón ugyanazt az eredményt kapom?
[Szerkesztve]lá lá lá lá lá lá lá Lila Liba gá gá gá gá gá gá
-
Divi
aktív tag
Hmm nagyon baráti
Más kérdés:
Arra van lehetőség, hogy először lerajzolom egy ''külső'' canvasra azt amit rajolni akarok, és pont akkor aPIXELBEN mint amekkora a nyomtató canvasa 0.1mmben?
ergo fog menni az átadás? Vagy netán a pixelenkénti átmásolás?
Ergo egy ''nyomtatási kép'' funkciót szeretnék megvalósítani...lá lá lá lá lá lá lá Lila Liba gá gá gá gá gá gá
-
btotyi
tag
Persze, hogy van de nem muszály ugyanakkorának lenni mert be tudsz állítani GDI leképezéseket amik automatikusan transzformálják a koordinátákat. Átmásolni sem kell hanem ugyanazt a rajzoló rutint lefuttatot a printer canvas-ra is.
De egyszerűbb ha használsz egy kész printpreview komponenst mert azook általában mindent elintéznek. -
steveetm
őstag
Hali!
assign=assignfile //mod
Szóval az lenne a gond, hogy egy stringet kéne kiküldenem lpt1-re, ahogy van.
Assign(f,'lpt1');
rewrite(f);
write(s,f);
close(f);
Ezzel csak annyi a gond jelen pillanatban hogy nem történik semmi. Viszont ha azt csinálom hogy
Assign(f,'c:\lp1.txt');
rewrite(f);
write(s,f);
close(f);
Majd parancssorban copy c:\lp1.txt lpt1 akkor megcsinálja faxán.
Ezen felbuzdulva csináltam egy iet:
Assign(f,'c:\lp1.txt');
rewrite(f);
write(s,f);
copyfile('c:\lp1.txt','lpt1',b);
close(f);
És szintén nem történik semmi.
Ha vki vágja hogy mér szarozik a delphi akkor árulja már el lécci.
hogy mér baszkurálom közvetlenül az lpt-t, mérnem win driver? mer nyomtatót kell programozni, driver nincs.
Üdv.: steveetm
[Szerkesztve]
[Szerkesztve] -
ToM2oo4
tag
hi!
Az lenne a kérdésem, hogy hogyan lehet figyelni a billentyűleütéseket akkor is, ha az alkalmazásom nem aktív? -
KovacsUr
addikt
Ehhez keyboard hookot kell csinálnod (MSDN::SetWindowsHookEx() -> Bővebben: link. Vannak buktatói, de másoknak is sikerült már megoldani.
Mihez kellene? Más megoldás nem jöhet szóba?So it goes… We stand alone by standing stones and turn them into circles.
-
Divi
aktív tag
Üdvözletem!
A kérdésem a következő:
Szeretném egy Listboxba betenni a feltelepített és használható betűtipusok neveit!
Emlékeim szerint ezt elég gyorsan és röviden el lehet intézni, csak sajnos nem emlékszek, hogy miként!
betutipusok.Items:= ???
Van ilyen egyszerű megoldás?lá lá lá lá lá lá lá Lila Liba gá gá gá gá gá gá
-
ToM2oo4
tag
Még 1 kérdés: hogyan lehet delphi programból leállítani a windows-t? illetve nem csak leállítani, hanem érdekelne még a készenléti állapot és a hibernálás is. meg lehet oldani?
-
Divi
aktív tag
Kérdés van:
Egy nagyon egyszerű kis adatbázist szeretnék létrehozni, de 2 géépel!
A kezelő szoftver az egyszerűség kedvéért a BDE lenne.
Az egyik sz.gép aliassal lenne ráirányítva a másik gép vinyóján lévő adatbázis fájlra
a másik gépen meg értelemszerűen lenne a adatbázis fájlja.
A kérdések:
1.Lehet alias-olni hálózati meghajtóra?
2. bírni fogja a BDE ezt a adatbázis elcseszése nélkül?lá lá lá lá lá lá lá Lila Liba gá gá gá gá gá gá
-
tusi74
őstag
Tegyük fel, hogy van egy query-m, aminek updateObjectje egy UpdateSQL.
Hogyan lehet átváltani Update módba? vagy delete módba.
Mert az megy, hogy hogy beírom, hogy query5.insert,
és akkor meghívódik az, amit az UpdateSQL insert propertyjébe írtam.
Ugyanígy megírtam a modify-t, és a Delete-t, de hogy lehet őket akítvvá tenni?
Mert olyan nincs, hogy Query5.Update, Query5.Modify?
Elég sürgős lenne. -
lao ce
aktív tag
en ezt abszolut nem hasznalom, de ha jol emlekszem van olyan hogy applyupdates az adatbazisra (vagy a queryre is?) es akkor hivodik meg az ami az updatesqlben van (tranzakciostul? nem tudom). azt hiszem az egyik peldaprogram a delphi examples-ek kozott errol szol.
nicht kompot
-
tusi74
őstag
Az előbbi problémát megoldottam.
Most egy újabb láma kérdés:
Hogyan lehet az megcsinálni, hogy egy formon egy gombnyomásra kiszámolok valamit és az eredményt egy másik formon fel szeretném használni.
Biztos nagyon egyszerű, de nekem mégsem megy.
[Szerkesztve] -
CsendPenge
őstag
Valamelyik formnál, vagy a form unit-ban csinálj egy globális változót, plussz uses unit Ez utóbbi nélkül nem fog menni.
P.S.: véletlenül se a gombnál deklaráld a változód, mert akkor a gomb eseményére nézve lokális lesz, vagyis addig létezik a változó, amíg az esemény ''létezik''.
P.S.2: ha nem voltam eléggé értehtő, szólj és kifejtem magamatRemember the Linux, that's like a wigwam: no Windows, no Gates, just Apache inside. Two minutes of thinking can save hours of unnecessary work.
-
lao ce
aktív tag
ha az eredmeny megjelenik az elso formon is vizualis formaban (mondjuk label-en) akkor valaszthatod azt is, hogy kozvetlenul elered.
miutan csendpenge tanacsa szerint a masodik form forrasanak a uses reszebe beirod az elso unitodat,
{
implementation
uses
untElso;
}
a masodik unitbol el tudod erni az elso unit formjan levo objektumok erteket.
tehat untElso.frmElso.lblEredmeny.Caption
es azt hogy untElso el lehet hagyni ha akarod.
csak azert irom, mert sokszor csak ki kell irni valamit a kepernyore az ilyen helyzetekben es szerintem ilyenkor felesleges valtozot hasznalni a 'masodik formokon', aztan hatha ez a helyzet nalad is veletlenul.nicht kompot