C++ builder
2002-11-02T01:39:26+01:00
2003-09-10T14:55:56+02:00
2022-07-19T05:37:30+02:00
  • Sziasztok!

    Következő problémám lenne. BCB5 alatt próbálok kinyomtatni egy több soros memo objektumot a következő képpen :

    void __fastcall TForm6::Button2Click(TObject *Sender)
    {
    TRect r = Rect(200,200,Printer()->PageWidth–200,Printer()->PageHeight–200);
    Printer()->BeginDoc();
    Printer()->Canvas->TextRect(r, 200, 200, Memo1->Lines->Text);
    Printer()->EndDoc();
    }

    A papíron egyetlen sorban jelenik meg a memo egész tartalma, a sortörés helyett ezzel a két kockával , gondolom én 0d 0a. Segítsetek légyszi a többsoros memo nyomtatás megoldán! Köszi
    Mutasd a teljes hozzászólást!
  • Meg tudná mondani valaki nekem, hogyan lehet egy PopupMenu-nek megváltoztatni a háttérszínét, betüszínét. Szóval az egész kinézetét. C++ Builder 6-ban ilyen nincs a beállítások között.

    Még 1 kérdés:
    Van a Form-on egy Frames amely induláskor betölti modjuk a Frame1-et. Hogyan lehet vezérelni hogy mit töltsön be oda?
    Tehét azt szeretném, hogy egy gomra kattintva egy másik Frame töltödjön oda be.

    Lehet hogy értelmetlenül fogalmaztam, de remélem megérti valaki.
    Mutasd a teljes hozzászólást!
  • if (!abrowser.IsEmpty()) StartProcess(abrowser+" "+url,true);

    helyett:

    if (!abrowser.IsEmpty()) StartProcess(abrowser+" "+url);

    bocs
    Mutasd a teljes hozzászólást!
  • A legegyszerűbben úgy lehet weblapokat nézeketni, ha elindítod a rendszerre telepített Browser-t.

    void __fastcall StartProcess(AnsiString CmdLine)
    {
    STARTUPINFO SI;
    PROCESS_INFORMATION PI;
    ZeroMemory(&SI,sizeof(SI));
    SI.cb=sizeof(SI);
    if (CreateProcess(NULL,CmdLine.c_str(),NULL,NULL,0,0,NULL,NULL,&SI,&PI))
    {
    WaitForSingleObject(PI.hProcess,INFINITE);
    CloseHandle(PI.hProcess);
    CloseHandle(PI.hThread);
    };
    }

    void __fastcall Browse(AnsiString url)
    {
    if (!url.IsEmpty())
    {
    AnsiString abrowser;

    char temp[MAX_PATH+1];
    DWORD size=MAX_PATH+1;
    ZeroMemory(temp,size);

    size=GetTempPath(size,temp);

    if (size)
    {
    AnsiString filename=temp;
    filename+="tmp.html";
    try
    {
    int f=FileCreate(filename);
    if (f!=-1)
    {
    char * file=filename.c_str();
    char browser[MAX_PATH+1];
    FindExecutable(file,NULL,browser);
    abrowser=browser;
    FileClose(f);
    DeleteFile(filename);
    }
    }
    catch(...)
    {
    }
    if (!abrowser.IsEmpty()) StartProcess(abrowser+" "+url,true);
    }
    }
    }

    Ha valaki tud jobb módszert a default browser megállapítására (valahol a registry-ben lehet valamilyen kulcs...), akkor megköszönném, ha leírná ide!

    unbornchikken
    Mutasd a teljes hozzászólást!
  • Az a gáz, hogy a Pos függvény valószínüleg a nagy és kis betűk között nem tesz különbséget. Próbáld meg esetleg az AnsiPos függvényt, hátha az segít, ráadásul nem c_str()-ként kell neki a keresendő stringet megadni, elég ha magát az AnsiStringet adod meg. Remélem ez segít.
    Mutasd a teljes hozzászólást!
  • Lenne még egy kérdésem.
    Listbox-ban hogyan lehet keresni a bejegyzések között úgy, hogy a nagybetüket különböztesse meg és esetleg bizonyos karakterek ne vegyen filyelembe?
    Én eddig ezt a módszert használta keresésre:

    {
    int kereso;
    ListBox1->Selected[kereso]=false;
    {
    for(kereso=0; kereso<ListBox1->Items->Count; kereso++)
    {
    if(ListBox1->Items->Strings[kereso].Pos(Edit1->Text.c_str())>0)
    {
    ListBox1->Selected[kereso]=true;
    }
    }
    }
    }

    hogyan módosíthatnám ezt a kódot?
    Mutasd a teljes hozzászólást!
  • Üdv!
    Lehet, hogy gonosz a kérdésem, de ott van az osztálynév:: a függvény neve előtt?
    (Gondolom igen, de velem ez fordult elő legtöbbször.)
    Mutasd a teljes hozzászólást!
  • Szevasztok!

    Olyan problémám van bcb5 alatt, hogy nem tudok egy osztályba felvett függvényhez implementációt készíteni, vagyis tudok csak fordításnál azt mondja, hogy a fv nem tagja az osztálynak, pedig a fv név, az argumentumok, a visszatérési érték ugynaz és már vagy 40 fv felvettem, de most úgy döntött, hogy nem akar többet.:)

    Az érdekes az, hogy csak egy projektél csinálja ezt.

    Van vkinek vmi ötlete?
    Mutasd a teljes hozzászólást!
  • Csinalj egy sajat uzenetet es azt a FormCreate-ben postmessage-l kuld el az ablaknak. Az uj uzenetkezelobe tedd a Hide()-ot!
    Mutasd a teljes hozzászólást!
  • C++ Builder 6-ban hogyan lehet megoldani azt, hogy a programom indításakor a fő form automatikusan tünjön el és Trayiconba minimalizálódjon.
    Próbáltam már, hogy egy timerbe beírtam ezt: Form1->Hide
    És ezt beállítottam, hogy pl. 1 mp után lépjen életbe, de így sok más (pl. BrowserURL, FileRun)már nem működött. Van erre egy másik megoldás. vagy én rontottam el valamit?
    Miért nem lehet a Form1->Hide(); parancsot a FromCreate-hoz írni? Mert nálam nem működik.
    Mutasd a teljes hozzászólást!
  • Szia !

    1. van vmi TCPPWebBrowser componens, de ennek meglete lehet fugg a verziodtol (Desktop,Prof,Enterprise).

    2. TIniFile -> Help ! Ott van pelda is !
    Mutasd a teljes hozzászólást!
  • Hello!

    Lenne pár kérdésem Borland C++ Builder 6-tal kapcsolatban.
    1.Hogyan lehet azt megoldani, hogy weblapot is meg tudjak jeleníteni a programomban?

    2.Valaki el tudná magyarázni nekem a .ini fájlok kezelését? Könyvben már utána néztem, de keveset írnak róla és nekem eddig nem jött össze a dolog. Végül is beállítások adatainak tárolására használnám. Valaki tudna segíteni?

    A válaszokat előre is kösz mindenkinek!
    Mutasd a teljes hozzászólást!
  • Helló!

    A kérdésem a következő lenne:
    WinXP-t használok és C++ Bilder 6-ban írt programjaim nem akarnak menni Win9x alatt. Az OLEAUT32.DLL-el van problémájuk. A "Programozzunk C++ Builder rendszerben" című könyv CD mellékletén lévő példaprogramok viszont mennek WinXP és Win9x alatt is.

    Ha lehet akkor a kovcslaci@hotmail.com - ra írjatok.

    Előre is köszi!
    Mutasd a teljes hozzászólást!
  • A kovetkezo problemam van: felinstallaltam a C++ Builder 6-ot (elotte 5 volt fent, ot leszedtem es kipucoltam utana a registry-t). Viszont amikor inditanam az "Application failed to initialize properly (0xc0000005). Click OK to terminate!" hibauzenet fogad ketszer, aztan sehol semmi. Az 5-ost gond nelkul hasznaltam vagy egy evig, viszont a Delphi 6-nal ugyanezt tapasztaltam. Leszedtem minden korabban fent levo Borland termeket, registry-t pucoltam, de ugyanaz. XP-t hasznalok, nem egy regi Win-t. Talalkozott mar ezzel a problemaval valaki?

    Elore is koszonok minden segitseget!

    Tom
    Mutasd a teljes hozzászólást!
  • Segítsetek!

    Lehet hogy nem ide kell ezt írni, de bízok benne hogy ha valaki tud akkor segít!
    Hogy kell VC++ ban egy gomb handlerjéből nyomtatni mondjuk egy "p" betüt? Akkor lenne a legjobb ha mondjuk ki lehetne választani a nyomtatót (lehet Printer Dialog Boxszal)?
    Előre is kösz mindenkinek aki válaszol.
    Mutasd a teljes hozzászólást!
  • kozben megtalaltam : SynEdit
    Mutasd a teljes hozzászólást!
  • Szia !

    Az "egérkurzor szövegérzékenysége"-hez :
    ez a tulajdonsag ugymond a szovegeditor komponense, amit pl. a Builder hasznal, de ez nem egy szimpla memo, mint erre magad is rajohettel...
    persze probalkozhatsz olyam memo letrehozasaval aminek van onmousemove esemenye es ebben valahogy a X,Y koordinatabol kitalalhatod milyen szoveg van a kurzor alatt... de szvsz jobban jarsz ha hasonlo komponenst hasznalsz mint a builder!
    Letezik egy open-source/free project egy ilyen kodszerkeszto editor letrehozasara, azzal dolgozva
    konnyebben el fogsz boldogulni.
    Ha jol emlekszem most a sourceforg.net-en fut es SynEdit a neve ! Sok sikert !
    Udv.
    Schwarzy
    Mutasd a teljes hozzászólást!
  • Sziasztok!

    Esetleg tudná valaki a 47. pontban felvetett kérdés(ek)re a válasz(oka)t? A saját egérkurzoros dolog jobban bosszant, mivel egyszerűnek tűnik, az egérkurzor szövegérzékenysége viszont fontosabb lenne.

    Köszönet a segítségért
    ivh
    Mutasd a teljes hozzászólást!
  • Sziasztok!

    BCB6 -ost használok. Includolnám a dsound.h -t, de fordításkor hibával áll le.
    dsound.h(62) E2257 , expected

    Mi a gondja?
    Ez egy saját header file. Megnéztem, a Builder include könyvtárában van. Akkor meg miért nem megy?
    Mutasd a teljes hozzászólást!
  • ctime helyett, mondjuk ct -t hasznalj, ugyanis a ctime egy fuggveny a time.h -ban :)
    bocsika....
    Mutasd a teljes hozzászólást!
  • tomb nelkul:

    time_t ctime = time((time_t*)0);
    struct tm * ptm = localtime(&ctime);
    int week = (ptm->tm_yday / 7)+1;
    Mutasd a teljes hozzászólást!
  • a lemaradt zarojelekert bocsi...
    Mutasd a teljes hozzászólást!
  • ha mar szamolni kell:
    keszits tablazatot 12 bejegyzessel
    int monthstart[12] = {0,31,31+28,31+28+30,...};
    vagyis mikor kezd a honap
    aztan:
    int n = monthstart[month-1]; //month 1-12
    if (month>2)&&(bLeepYear(year)) ++n; //szokoev eseten
    n+=day;
    int week = (n/7)+1; //a het 1-52

    talan igy joh
    az elso tort hetet egesz hetnek veszi
    Mutasd a teljes hozzászólást!
  • Helló Duyu!

    Válasz a 49. témára

    Ugy gondolom Téged a week() függvény lehetőségei érdekelnének, de talán a témának lehetnek egyéb, tovább mutató kérdési is. Lássuk részleteiben:
    A Builderben az idővel összefüggő adatok a TdateTime tipusként vannak deklarálva. A TDateTime osztályban egy sor tagfüggvény érhető el, amelynek kiegészítéseként a Sysutils nevű modulban egy sor további függvény van deklarálva:
    Pl:a DayOfWeek (TdataTime Time) a hét napja
    és a IsLeapYear(Word Year) megmondja, hogy a Year év szökőév-e
    De a Helpben Te is utána nézhetsz, szerintem nem fogsz olyan függvényt találni, amely közvetlenül az általad keresett folyó hét évbeli sorszámával térne vissza meghíváskor.
    Valójában igazad van, nem tűnik a felvetésed túl bonyolultnak, de véleményem szerint, ha szükséged van erre az adatra feltehetően saját magadnak kell ezt a függvényt önmagadnak megírni. / mint az idők kezdete óta :Magad Uram, ha szolgád nincs! /
    De szerintem a hét napja függvényt használva, elindítva egy számoló ciklust, könnyű szerrel eredményhez érhetsz.
    Ez a függvény megadja, hogy az adott nap a hét melyik napjára esik.(a rendszerben a hét első napja a vasárnap) De attól függően, hogy Te a vasárnapot vagy a hétfőt tekinted a hét első napjának, egyszerűen megszámoltatod a programoddal, hogy az év elejétől indított ciklusban, az általad keresett dátumig hány db vasárnap vagy hétfő telt el, és máris megválaszolhatod az általad keresett függvényre a megvalósítás válaszát.
    Valójában igazad van, nem is olyan bonyolult ez ! Lehet próbálni a függvény megírását!
    Egyebekben ha nincs konkrét kötődésed a Builderhez pl. a Foxpro-ba az általad keresett függvény week() néven gyárilag be van drótozva, ott még megirni sem kell, csak használni.
    Máskülönben érdekelne, hogy a fenti utmutatásom alapján sikerül-e célba érned, mert ha valami okból elakadnál majd valahol, nyugodtan küldj drótpostán egy üzenetet címemre / ncarpenter@freemail.hu / és összeütök egy programocskát és elküldöm, amiből megvizsgálhatod a módszert.
    Jó munkát kívánva üdv.
    Carpenter
    Mutasd a teljes hozzászólást!
  • Üdv emberek.. egy rendkívül egyszerű kérdésem lenne, ami csak nekem nem egyszerű... Mi az a pontos parancs, amivel le tudom kérni az aktuális hét számát?

    Előre is köszi a választ!

    Duyu
    Mutasd a teljes hozzászólást!
  • Hello! Kezdő vagyok és segítségeteket kérném! C++ Bulder 5-ösben dolgozom. Szeretnék egy olyan progit írni, amelyik bizonyos beállításokkal(bizonyos oldalra) felmegy a netre és saját böngészőjében megjeleníti azt. Kérem segítsetek! Köszi!!
    Mutasd a teljes hozzászólást!
  • Két egyszerű kérdésem lenne:
    1. Sehogy sem akar működni a saját egérkurzor, pedig amúgy nem tűnik bonyolultnak, a Help-je is egyértelmű(-nek tűnik): rajzolás, mentés a .res file-ba, utána "Screen->Cursors[crMyCursor] = LoadCursor(HInstance, "NewCursor"); stb...". A kurzor nevét jól írtam a függvénybe, többféle indexszámmal is kipróbáltam (0, -25, pozitív számok), mégsem. Mit rontok el?

    2. Tudja-e valaki, milyen komponensben vagy függvénnyel vagy .... érhető el az egérkurzor "szövegérzékenysége", vagyis az, hogy egy szó fölé víve az egeret (de nem klikkelve ott) pl. a szóra (de nem a komponensre!!) specifikus Hint jelenik meg, vagy változik az egérkurzor, vagy akármi. Maga a Builder kódszerkesztő ablaka is tud ilyet.

    Előre is köszönet
    Mutasd a teljes hozzászólást!
  • Hello Csavar !

    Bocsánat, nem leszolni akartam az fopen-t, én is sokat használtam, mikor dosban programoztam.
    De itt az fopen egy builderes program esetében jött elő. Ami nekem automatikusan Form-ot jelent.
    Egy Windows-os Form esetében sajnos nem igazán lehet használni, hidd el probáltam.
    Gondolom a Borland megadta a lehetőséget, hogy kompatibilis legyen a korábbi verziokkal, de nem célszerű Windows-os környezetben használni. Arra ott a FileOpen utasítás.
    Mutasd a teljes hozzászólást!
  • A TryIcon a C++ builderben nem igazan jÓ... már én is találkoztam bizonyos hátrányaival, pedig csak párszor alkalmaztam.

    Viszont van egy csomó plusz dolog, amit le lehet tölteni, egyébb komponensek, és ott volt pár jó trayIcon.
    Mondjuk a dologhoz hozzátartozik, hogy egy Windows API-t használ. a win32SDK-ban le is van írva. Szóval ott lehet beállítani, hogy win2K esetében lehessen animálni az ikont. Ezzel lehet, hogy megoldható amit szeretnél csinálni.
    Mutasd a teljes hozzászólást!
  • A trayicon témában is írok.
    A timer-es megoldásra én is gondoltam, de valami egyszerű beállítással ezt nem lehet megoldani?

    más:
    Az alap CB5-ös verziónál trayicon esetén és egy asm betétnél az első fordítás közben azt írja, hogy kér a D:-be egy lemezt.
    CB5 patch frissítés után már ok..
    A pop3, smtp-s hiba viszont továbbra is fennáll, miszerint nem lövi ki, az ilyen komponenseket tartalmazó alkalmazást kilépéskor az XP.
    Mutasd a teljes hozzászólást!
Ez a téma lezárásra került a moderátor által. A lezárás oka: technikai k�rd�seket egyenk�nt, k�l�n t�m�kba, a tud�st�rba !
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd