Új hozzászólás Aktív témák
-
sarti
csendes tag
A delphiben van egy olyan parancs, ami megadja az éppen futó alkalmazásod elérési útvonalát. Ha a CD-ről indítod a programodat, akkor az kell neked. Talán getcurrentdir (aplication.exename) . Ez kell értékül adni egy változónak. Abba kerül az útvonal, aztán már kedved szerint lecsupaszíthatod a kívánt szintig, egészen a gyökérig. (Ha a cd-n lévő progi a cd gyökeréből indult, akkor valami ilyesmit ad vissza:d:\progi.exe Nincs előttem a delphi, de talán segítettem.
[Szerkesztve]
[Szerkesztve] -
wolffy
aktív tag
Köszi a hozzászólásokat, most már sikerült a fájlindítás, azonba egy újabb problémába ütköztem. Annyira felbuzdúltam a dolgon, hogy CD-re akartam készíteni egy apró programot amin gombok vannak, s annak megfeleően, hogy melyikre kattint a user, más-más dolgot indít el a CD-ről.
A bökkenő csak az, hogy adom meg a CD meghajtó elérési útvonalát, mert az ahány gép annyi féle meghajtóbetűjel lehet. Nem olyan fix dolog mint a C:\
HTML-nél még orvosolható a probléma, de az módszer (meghajtóbetűjel helyére két pontot írok) nekem nem működött Delphiben. -
_AnTi_
tag
Valószínűleg egy kis tökéletesítésre szorul, de ezen el tudsz indulni. Egy edit mezőben van a futtatandó program elérési útja és neve.
implementation
uses shellAPI;
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
startupinfo : Tstartupinfo;
processinfo : Tprocessinformation;
command : array [0..512] of Char;
success : boolean;
begin
strpcopy(command, edit1.text);
fillchar(startupinfo, sizeof(startupinfo), #0);
startupInfo.wShowWindow:=SW_SHOWNORMAL;
startupinfo.cb:=sizeof(startupinfo);
startupinfo.dwFlags:=STARTF_USESHOWWINDOW;
Success:=CreateProcess(nil, command, nil, nil, false, CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS,
nil, nil, Startupinfo, Processinfo);
{ if success then
label2.Caption:='Minden ok!'
else
label2.Caption:='Valami nem jó!';}
end;
Sok Sikert! -
wolffy
aktív tag
Nos magyar nyelvű pdf-fel Delphi-hez még sajnos nem találkoztam.
Azért ha érdekel, ajánlom figyelmedbe a következő oldalt:
Bővebben: link -
wolffy
aktív tag
Ha pdf-et keresel Delphi-hez, ajánlom figyelmedbe a következőt:
Bővebben: link -
net84
őstag
hűha! egyből a közepébe!
vagy keresel egy előre megírt Joy port (vagy párh.port) vezérlő progirészletet, vagy fogod és megírsz egy lekérdező ''algoritmust''
oszt onnantól meg meg már sima kiválasztásos rendszerbe (if) megírod, hogy mire mit csináljon. A nehézség a Joy-nál az, hogy potival működik, és elég nehéz meghatározni, hogy mekkora mozgatásra fog működésbe lépni, mivel az lpt port 0 és 1 logikai értékekre képes a beviteli lábakon is...
OPPÁ! nincs senkinek pdf-je Delphi6-hoz??? -
wolffy
aktív tag
Sziasztok!
Nemtom valaki tudna-e nekem segíteni. Delphiről van szó, de bizony elég kezdő vagyok. Az érdekelne, hogy egy gomb OnClick eseményére milyen paranccsal (vagy egyéb más módon) tudom beállítani azt a funkciót, hogy elindítson egy adott elérési útvonalon található *.exe fájlt.
Köszi a segítséget. -
gammar
csendes tag
Valaki segitsen, rakotottem egy regi joystickot a parhuzamos portomra,
delphiben vagy barmiben, hogyan lehetne ezzel komunikalni, tehat ha en a joystickrol kuldok egy jelet akkor azt kezeljem, hogy mittomen jelentse azt mitha egy space nyomtam volna. vagy vmi doksija ha van valakinek ezzel kapcsolatosan. -
net84
őstag
Hellosztok!
Tud-e valaki Delphi 6-hoz e-book-ot? Az 5 és 7 megvan könyvben, de a hatot még abban sem találom meg, és igazából, amennyire kellene, azért nem is igazán adnák pénzt ki a könyvvért, inkább pdf-be érdekelne...
ez ügyben mail: incedi@freemail.hu
[Szerkesztve] -
Neo...
aktív tag
Őh ... Az adatbázishoz kéne 1 kis segitség! Nem jön létre azt a Kb 10 pontot leirná valaki ??? Fontos lenne PIz !
-
gammar
csendes tag
Nem tom mi a p****-ert nem jelent meg a multkor a hozzaszolasom
de mindegy.
Lenyeg az , hogy kene egy kis segitseg ''Send message'' a windowshoz.
Ezt hogy lehetne, mert kene pl. Eject-nek a parameterei meg a message numberje -
weise
csendes tag
Sziasztok!
Hogy lehet azt elérni a Delphi5 alatt, hogy egy project-ben már meglévő form-ot
egy másnéven megduplázzak és minden eljárás, esemény maradjon úgy mint a régiben. -
Szalma
őstag
válasz
Incognito #828 üzenetére
(Karakteres felület kell? Akkor inkább a legutolsó BP7-et javaslom. Delfivel küzdeni kell a jó karakteres felülethez.
BorlandPascal7 tök jól megy win alatt és egy kis TurboPascal-os múlttal el lehet vele boldogulni...
Számlázó program: a Számadó-nak van egy win alatt futó teljesen ingyenes (apeh nyilatkozatos), rendszeresen frissített programja...)
Szeretettel:
Szalma -
Incognito
senior tag
Valaki?
-
Incognito
senior tag
Egy apró DOS-os kinézetű számlázóprogramot kellene csinálni. Jó hozzá a delphi? Ha jó akkor melyik? A hetes? Az hány CD-s?
-
gone
csendes tag
Sziasztok!
A 812-es levelemhez hozzáfűzném:
Természetesen nem ezt a primitív dll-t írtam meg és szeretném excelből meghívni, ezt csak azért írtam, hogy a meghívás módját lássam belőle, vagy valamit, amiért nem tudok egy dll-file-t excelből használni.Két cella összeadására senki se használ excelből dll-t .ÉN SE! Ha valaki csinált már ilyet és tudna segíteni, akkor azt megköszönném.
Üdvözlettel Gone -
lao ce
aktív tag
kedves szalma
szerintem egy haromszog miatt azzal nem kell megkuzdeni, csodalkoznek ha latni lehetne kulonbseget. inkabb ugy irom: elegge biztos vagyok benne hogy az adott feladatban a double buffering megoldja a problemat, mig az erase nem jatszik szerepet. de tevedhetek.
amugy a kuzdelem kb ennyi lenne ha jol sejtem:
private
procedure Kuzdes (var Msg: TWMEraseBkgnd); message WM_ERASEBKGND;
...
procedure TForm1.Kuzdes (var Msg: TWMEraseBkgnd);
begin
Msg.Result := 1;
end;
amit azert nem neveznek kuzdelemnek. -
Szalma
őstag
(Továbra is WM_ERASEBKGND kezelést látom a kulcsnak. A hátérben rajzolás sem rossz poén, de akkor is meg kellene küzdeni a frissítéskor adódó felesleges újrafestéssel... WM_ERASEBKGND és Google -> Bővebben: link )
Szeretettel:
Szalma -
Szalma
őstag
válasz
Drótszamár #821 üzenetére
(Ha a webcam directshow-n keresztül támadható, akkor inkább csinálj rá egy saját capture rutint. Ha nem, akkor findwindow-val megkeresni a webcam ablakát, majd valahogy fókuszba hozni. Akár egy egérclikk elküldésével, ha a normál szetfókuszok nem mennek...)
Szeretettel:
Szalma -
Drótszamár
őstag
válasz
Drótszamár #818 üzenetére
Valaki?
-
Fifty
csendes tag
Szalmának:
Ha nem mozgatom az egeret akkor nem csíkoz.
Lao ce válaszára:
Köszi szépen, de mivel én még csak most ismerkedem a Delphivel, kb. 20%-át értettem annak, amit mondtál. De azért kösz a segítséget! -
Drótszamár
őstag
Lenne egy kérdésem.
Egy webcam kezelő programban egy külső komponenst használok a webcam képének megjelenítésére. Innen lopom le a képet, feliratozom, és megy fel a tárhelyemre percenként. A probléma a következő: a külső komponens csak akkor frissíti a képet, ha a programon van a fókusz. Ha másik programra kattintok, akkor amíg újra rá nem kattintok mindíg ugyan azt a képet mutatja.
Erre tudtok esetleg valami megoldást? -
lao ce
aktív tag
en azt hiszem ezt ugy szoktak megoldani, hogy eloszor megrajzoljak a memoriaban amire szukseg van es aztan egy lepesben kirakjak a lathato teruletre.
szoval en ugy csinalnam hogy lenne egy image ami a haromszogemet tartja:
var
...triangle: tbitmap;
aztan ezt elokeszitenem a form create-ben:
...triangle := TBitmap.Create;
...triangle.PixelFormat := pf32bit;
...triangle.Width := Form1.Width;
...triangle.Height := Form1.Height;
es persze fel is szabaditanam a destroy-ban vagy close-ban:
triangle.Free;
a mousemove-ban meg eloszor visszaallitanam a 'szurket' a triangle image-ben(azaz torles)
...triangle.Canvas.Brush.Color := clSilver;
...triangle.Canvas.Rectangle (0,0, Form1.Width, Form1.Height);
aztan megrajzolnam a haromszoget a mar 'ures' kepben:
...triangle.Canvas.Brush.Color := clWhite;
...triangle.Canvas.Polygon([
......point(100, 500),
......point(300, 500),
......point(X, Y)
...]);
(az utolso sor X es Y koordinataja az egerpozicio, ami a mousemove procedure parametere)
vegul ugyanitt a mousemove-ban, a triangle nevezetu image tartalmat kikopiznam a form canvasara ezzel a konnyeden ertheto, minden igazi programozoba dns szinten oroklott utasitassal:
...BitBlt(
......Form1.Canvas.Handle,
......0, 0,
......Form1.Width, Form1.Height,
......triangle.Canvas.Handle,
......0, 0,
......srccopy
...);
jo szorakozast.
[Szerkesztve] -
Fifty
csendes tag
Köszi Szalma, de azt már én is próbáltam, hogy az OnMouseMove-ra írtam rá a cuccot, de ott is csíkoz.
Egyéb ötlet? -
Fifty
csendes tag
Hello!
A következő a kérdésem, (immár a megfelelő helyen) :
Delphiben írtam egy progit, ami a következőt csinálja: rajzol egy háromszöget, aminek két csúcsa rögzített helyen van. A 3. csúcsot az egérmutatóhoz rakja. Ezt a háromszöget valamilyen színnel ki is tölti, majd ha az egér megmozdul, akkor ugyanilyen háromszöget rajzol a régire, csak háttérszínnel, azaz letörli azt, és kezdődik az egész elölről. Nem is ez a gond, az egész tökéletesen működne, csak valahogy becsíkozódik a háromszög háttérszínű csíkokkal, egy pillanatig.
Próbáltam úgy is, hogy egy timerre raktam rá az egészet, és pl. 0,001 másodpercenként frissített, akkor is frankón mükszik, de egy kb. 1cm-es csík fut alulról felfelé szépen lassan a képernyőn. Kb. így néz ki az algoritmus, kisebb változtatással (a változók értékének megadásával kapcsolatban) :
procedure TForm1.Timer1Timer(Sender: TObject);
begin
f[1].X:=600;
f[1].y:=768;
f[2].X:=850;
f[2].y:=768;
canvas.Brush.Color:=clbtnface;
canvas.Pen.Color:=clbtnface;
canvas.polygon(f);
canvas.Brush.Color:=clgray;
canvas.Pen.Color:=clgray;
getcursorpos(f[3]);
canvas.polygon(f);
end;
Na ezt hogyan lehetne kiküszöbölni ???
Előre is hálás köszönetem minden válaszért ! -
gone
csendes tag
Sziasztok!
Írtam Delphiben egy dll-t amit delphiből meg is tudok hívni, de excel-ből szeretném elérni a dll-file-t!
pl:
matek.dll egy függvényt tartalmaz:
function osszead(a,b:real):real;stdcall;
begin
result:=a+b;
end;
Azt szeretném pl, hogy az A1-es és az A2 es cellában lévő számokat adja össze és az eredményt írja ki az A3-ba!
Ehez kérnék segítséget.
Excelben találtam a Hívás parancsot de nincs is ilyen fv-em!
Hívás(''matek.dll'',''osszead'',''EEE'',A1,A2) és ezt a A3-ba kéne beírni???
Mikor fog ez lefutni?? Minden újraszámolásnál?
A segítsége(ke)t előre is köszönöm!
Üdvözlettel Gone -
Szalma
őstag
(Kettő dolog: 3szöget akkor kellene rajzolni, ha változott az egérkurzor koordinátája... A másik pedig a WM_ERASEBKGND korrek kezelése lenne: akkor kell frissíteni a háromszög mögötti objektum felületét, ha arra tényleg szükség van. Amíg nem veszed kezelésbe a WM_ERASEBKGND üzenetet, addig a delfi minden egérmoccantásnál újrafesti a komponens felületét. (Ami itt nem lenne baj, de mégis javaslom a korrekt kezelését, később jól fog jönni.) A változás figyelése pedig elsődleges fontosságú.
Hajrá!)
Szeretettel:
Szalma -
Neo...
aktív tag
-
Neo...
aktív tag
Jah és nem tudtok Delphihez könyvet ? csak igy Dokumentumba ???
-
Neo...
aktív tag
pl ? : form2.Image1.Picture.LoadFromFile('kepek\0.gif');
-
The TYPhoon
csendes tag
Sziasztok!
Hogy lehetne megoldani azt, hogy egy dinamikusan (futásidőben) feltöltött popup-menu elemére, ha rákattintok, akkor egy beviteli mezőbe kiíírja a popup-menu feliratát,
tehát az adott menüelem Caption-jét. Ezt sehogy sem tudom elérni.
Előre is köszi!
[Szerkesztve]
[Szerkesztve] -
Notes
senior tag
Köszi! Végre életet leheltél a fórumba!
Végül így oldottam meg (Thx to prog.hu community!):
Begin
Close;
Clear;
Add('SELECT *');
Add('FROM TranzTabla');
Add('WHERE (Datum>= :KezdDatum) AND (Datum<= :VegDatum)');
If LekerdFelhComboBox.ItemIndex>0 Then
Add ('AND (Felhasznalo= '+ Quotedstr(LekerdFelhCombobox.text)+')');
If LekerdPartnerComboBox.ItemIndex>0 Then
Add ('AND (Partner= ' + Quotedstr(LekerdPartnerCombobox.text)+')');
If LekerdCimletCombobox.Itemindex>0 Then
Add ('AND '+ VPDataModule.TranzTabla.Fields[(LekerdCimletComboBox.ItemIndex)+5].FieldName +' is not null');
Prepare;
ParamByName('KezdDatum').AsDate:=LekerdDatePicker1.Date;
ParamByName('VegDatum').AsDate:=LekerdDatePicker2.Date;
Open;
end;
end;
Ez egy DBGrid-re irányítva hibátlanul működik. De ha a Query-t egy Reportra teszem és annak az OnPreview eseményekor hívom meg a fenti kódot, akkor mindig csak a feltételeknek elsőként megfelelő rekord jelenik meg, de az annyiszor, ahány rekord megfelel az SQL statement-nek. Nem tudom ez így érthető-e?
Az egyik könyvben azt olvastam, hogy a Query-hez kapcsoljak DataSource-t is. Minek? Lehet közvetlenül is hivatkozni rá nem? -
_thomas_
tag
én még kiegészíteném azzal hogy adjuk meg rendesen a kép elérési útvonalát.
pl.: image1.picture.loadfromfile('d:\kep.bmp');
persze ha nem tudjuk előre ki hova másolja a proginkat akkor kérdezzük le a programunk elérési útvonalát és használjuk azt kiégészítve a kép útvonalával mert gondolom azt a progink könyvtárában tároljuk valahol.
ha meg nem akkor pl.: az opendialog segítségével egyszerűen be tudjuk tölteni a képet. -
Neo...
aktív tag
miért van h PL: form2.Image1.Picture.LoadFromFile('kepek\0.bmp');
És nem engedi ! Ezt haveréből másoltam azt se tom hogy ha pl az 1. Fromon van a Kép akor Form2 kell neki ??? Nah ez lenne jó megtudni !
Új hozzászólás Aktív témák
Hirdetés
- Intel Core i7 6700K / GTX 1660TI / 16GB DDR4 RAM / 500 GB SSD konfig eladó
- Samsung Galaxy S23 128GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy A53 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Megkímélt állapotú Xbox Series X 1TB eladó. Kitisztítva és újrapasztázva!
- Gamer PC - i5 13400F, GTX 1080ti és 16gb DDR5
- Telefon felvásárlás!! Samsung Galaxy A16, Samsung Galaxy A26, Samsung Galaxy A36, Samsung Galaxy A56
- LG 65B4 - 65" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
- LG 25GR75FG - E-Sport Monitor - FHD 360Hz 1ms - NVIDIA Reflex + G-sync - AMD FreeSync - HDR 400
- BESZÁMÍTÁS! MSI B450M R5 5600 32GB DDR4 512GB SSD RTX 3060 12GB THERMALTAKE Core V21 Enermax 650W
- 134 - Lenovo Legion Pro 7 (16IRX8H) - Intel Core i9-13900HX, RTX 4090
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest