C/C++

web-en található fontok használata? (C++ Qt4)

Fórumok

Sziasztok!

Szeretnék készíteni egy saját szövegszerkesztő programot, hogy megtanuljam a fejlesztés menetét.
Szeretném, hogy a program bizonyos fontokat használjon, és ha az nem áll rendelkezésre, akkor megkérdezné a felhasználót, hogy akarja-e telepíteni a kérdéses fontokat vagy sem. Ha akarja akkor végrehajtaná a telepítést a szövegszerkesztő az internetről. Ha nem szeretné a felhasználó a telepítést, akkor egyszerűen telepítés nélkül hívná le a fájlokat. De erre a lehívásra mindenképp szükség lenne, ha egyáltalán akar valamit is kezdeni a programmal.

A kérdésem a következők:

1, A házi fejlesztésem C++ nyelven zajlik a TROLLTECH cég Qt4 csomagjának a segítségével. Láttok-e esélyt a megvalósíthatóságra?

2, Ha igen, akkor a kérdés az, hogy web oldalról is le lehet-e tölteni egy fájlt vagy csak fájl szerverről? Ha igen, hogyan? (A fájlszerveres letöltés is érdekelne!)

3, A fontok zip fájlban vannak, tehát letöltés után szükség lenne a fájlok kicsomagolására. Ehhez mit javasoltok?

Honnan és merre C++

Fórumok

Üdvözöllek a témában!
Az elmúlt napokat végig olvastam programozás témában, és ha valaki azt mondja, pár nappal ezelőtt hogy mára sem fogok semmit sem megérteni hülyének nézem, pedig igaza lett volna... Az elmúlt 1-2 évben szinte minden népszerű nyelvet kipróbáltam és mindbe bele is buktam vagy abbahagytam.

Első volt a sorban a visual basic még általános suliban ismertem meg, sajnos elég gyorsan rá kellett jönnöm, hogy nem ez amit kerestem, nem volt elég profi számomra, többre vágytam. Igaz nem mélyedtem annyira bele, és akkoriban is sok fórumot bújtam, akkor jöttem rá hogy kevés. Később jöttek sorban a nyelvek Pascal, hát elég nyűgös kis nyelv és tapasztaltabbak szerinte nem sok hasznot hajt, bátran mehetek komolyabb nyelvre.

Sajnos akkoriban nem sikerült a váltás, elmentem kicsit a webes irányba HTML nem volt nehéz így visszagondolva, főleg mert nagyszerű programokkal dolgoztam, amik néha helyettem írták a forrást nekem csak figyelnem kellett rájuk. A PHP-ra váltás nem sikerült, ekkor tértem vissza kicsit C-re majd rá kellett jönnöm, hogy van C++ is a világon már akkoriban nagyon bejött, sajnos nem foglalkoztam vele sokat, mert Stroustrup - A C++ Programozási nyelv könyvével foglalkoztam csak később mondták, hogy haladó C++ programozóknak szóló könyvet választottam, azért nem értem én a dolgokat.

Vissza is tértem gyorsan a webprogramozáshoz, PHP könyvet elolvastam, majd nyílt forráskódú rendszert telepítettem és alakítottam ki kedvem szerint amikor rájöttem, hogy ide bőven elég HTML tudás, a PHP már benne van a tartalom kezelő rendszerben amit választottam. Igaz azért egy-két helyen jó érzés volt, hogy ismertem a fájlok tartalmát, de ettől nem több.

Saját PHP alkalmazást nem fejlesztettem, mert ahhoz már kevés voltam. Igen el is érkezett történetemben a 2008 március, és megint fórumokat kezdtem olvasni, mert nyílván valóvá vált előttem, hogy saját módszeremmel nem fogok megtanulni soha egy nyelven sem programozni, és az is, hogy nincs a könyvek között sem "szent grál" ami mindent megtanít és minden benne van a kezdetektől a végekig.

Először a nyelvet választottam a Java és C++ között gondolkodtam több fórum után a C++ mellett döntöttem, mert talán az a nyelv ami szinte mindenre használható, gyors. A Java előbb szimpatikus volt, de később rájöttem, hogy alkalmazás fejlesztésre lett kihegyezve, és kell a felhasználó számító gépére telepíteni a java virtuális gépét hogy tudja futtatni a programot, a C++ meg csak le kell fordítani.

Még mindég rossz irányelveket követve elkezdtem ismét keresni a "szent grált" szinte minden anyagot letöltöttem a C++ nyelvvel kapcsolatban amit hasznosnak ítéltem, és sajnos rá kellett döbbennem, hogy legtöbb csak jegyzet, egy kis részlet amit egyetemisták írtak és persze az egyetlen ami használhatónak tűnt a már említett Stroustrup könyv. Szóval keresgélésemmel nem mentem semmire, kábé egy év alatt nem került fel egy használható könyv? Siralmas de úgy látom.

Ismét csak fórumoknál kötöttem ki és elolvastam szinte minden kezdőnek ajánlott tanácsot, most így visszagondolva nem sokra jutottam, mert mindenki mást mond, de még rosszabb, hogy senki sem volt ennyire elveszve a kezdők közül mint én.

Viszont annyira jó volt, hogy újraértékeltem a helyzetet és láttam, hogy rossz irányba indultam mindvégig. Valószínűleg nem magával a nyelvvel kéne kezdeni, hanem valami mással amit kihagytam, vagy talán teljesen máshogy, sőt az is lehetséges, hogy jól gondoltam már az elején, csak rossz anyagokkal dolgoztam amikből nem tanultam meg semmit. Őszintén én már nem tudom, ezért is kérem a segítséget, vagyis, hogy honnan és hová C++ tehát egy mondhatni abszolút kezdő honnan induljon és merre tartson, hogy elsajátítsa eme remek foglalkozást.

Talán a címbe be kellett volna írni a "hogyan" szót is, én úgy vagyok vele, hogy nem igazán szeretnék befektetni a tanulásba időn és energián kívül mást. Szóval könyvet venni nem igazán szeretném, mert hiszek benne, hogy sok ebook van, amit türelmes emberek bescanneltek és publikáltak mások segítése érdekében, és ingyenes fejlesztőeszközök is vannak. Hiszek abban, hogy otthonában mindenki elsajátíthatja a programozás művészetét, igaz nem egyedül, de ezen és más fórumokon sok segítőkész ember van jelen.

Az igaz hogy nem használtam kérdőjeleket de remélem értitek a problémámat és még jobban remélem, hogy tudtok/akartok is segíteni a megoldásában.
Kicsit hosszúra sikeredett az írás, remélem mindent leírtam, ami szükséges a segítéshez, ha mégsem, figyelem a témát és minden kérdésre válaszolok.

Fourier transzformáció "űridőben"

Fórumok

Sziasztok.

640*480-as képek egymás után a következőket ábrázolja. Időben gyorsan mozognak rajta az alakzatok relatíve lassan keletkeznek, és tűnnek el, a mozgás sebességéhez képest. (pl egy kézzel leszámolt képen 1/5 sec alatt a klaszter mérete 5 pixelnyit nőtt, miközben ~100 pixelt mozgott x, és -12 pixelt mozgott y irányban, és közben keletkezett 2 új részecske és összeolvadt szintén 2) Ezen ugye szemmel egész könnyű követni az adott kalsztert, de a gépnek egyszerű háromszögeléssel nem megy, mert nincsnek fix pontjaim (alakzatok sújpontja, és alakzatok sújpontjánok geomoetriai középpontja relatíve lassan kell hogy változzon), működne is a dolog, mert ha kézzel kisimítom a képeket, akkor le tudom követteni a számítógéppel az adott klasztert, de ez a rohadt kamera interferál is és össze vissza mozgatja az alakokat, és mossa a széleket. Na szóval erre jött a megoldsnak a fourier transformáció, mivel ott az idő egyszerűn kimarad a buliból, mert periódikusnak feltételezzűk a képet leíró függvényt. De az a baj, hogy a fourier transzformáció egetrengetően lassú. Van más ötletetek erre a problémára.


magántanulás átka, hogy nincs visszajelzés

Fórumok

Üdvözletem!
Szerettem volna megoldani azt, hogy a főprogramtól elszeparálva, külön fájlban legyen olyan függvény, amit a főprogram használ és külön állományban legyen osztály, amit a főprogramban a külön fájlban definiált függvény használhat. A jelenlegi formában g++ lefordítja jól a forrást és azt is ír ki, amit várok tőle, de gondolom nem túl célszerű egy egész osztálypéldányt függvényparaméterként használni. Gondolom objektumra mutató -val, vagy referenciával lehet ezt elegánsabban megoldani. A hogyannak utána kell olvasnom, mert amit kipróbáltam, az nem működött. Azt szerettem volna, hogy a főprogramban készítek egy osztálypéldányt és az adott osztály típusra mutatót. Majd a mutatónak értékül adom az objektumom címét, és a függvényben paraméterként ezt a mutatót használom. Sajnos ez nem jött össze, mert nem ette meg a g++ az ötletemet. Ezzel később foglalkozom, de előtte azt szeretném, ha páran megszakértenétek a kódot. Bármilyen észrevétel érdekel. Fikázás is, de csak az építő jellegű! Az olyan kérdések, hogy miért nem ezt, vagy azt használtam e-helyett a megoldás helyett, arra az a válaszom, hogy egyelőre ezt a megoldást ismerem és így tudtam elérni a célomat.
Ez lenne a forrás:



fuggveny.h:

#ifndef OSZTALY_H
#define OSZTALY_H
#include "osztaly.h"
#endif

void fuggveny(osztaly);




fuggveny.cpp:

#include <iostream>
#include "fuggveny.h"

using std::endl;
using std::cout;

void fuggveny(osztaly OP)
    {
    cout << "kiir" << endl;
    cout << "szam: " << OP.Get_szam() << endl;
    }



osztaly.h:

class osztaly
{
private:
    int szam;
public:
    osztaly();
    int Get_szam();
};




osztaly.cpp:

#ifndef OSZTALY_H
#define OSZTALY_H
#include "osztaly.h"
#endif

osztaly::osztaly()
    {
    osztaly::szam=6;
    }

int osztaly::Get_szam()
    {
    return osztaly::szam;
    }




proba_main.cpp
#include <fstream>
#include <iostream>
#include <string>
#ifndef OSZTALY_H
#define OSZTALY_H
#include "osztaly.h"
#endif
#include "fuggveny.h"

using std::cout;
using std::string;
using std::cin;
using std::endl;
using std::ifstream;


int main()
{
osztaly Peldany;
fuggveny(Peldany);
}

A fordítás, futtatás és az eredménye:

g++ -c fuggveny.cpp
g++ -c osztaly.cpp
g++ proba_main.cpp osztaly.o fuggveny.o

./a.out
kiir
szam: 6

Köszönöm!

Hol a hiba?

Fórumok

Hali!
Lehet láma kérdés, de az alábbi e'ccerű program nem az általam várt eredmény adja, és nem jöttem rá miért. (Debian Etch, 'gyári' gcc-vel.)

$ cat tomb01.c
#include
int jegyek[10];
int jegy, i, darab=0;
int main(){
do{
printf("Add meg a %d. jegyet [0-vege]: ", darab);
scanf("%d\n", &jegy);
if(jegy != 0){
jegyek[darab]=jegy; /* darab=tömbindex */
darab++;
}
}while((jegy != 0)&&(darab < 10));

for(i=0; i
printf("A %d. érdemjegy: %d\n",i,jegyek[i]);
}
}

Futtatva:

$ ./tomb01
Add meg a 0. jegyet [0-vege]: 1
2
Add meg a 1. jegyet [0-vege]: 3
Add meg a 2. jegyet [0-vege]: 4
Add meg a 3. jegyet [0-vege]: 5
Add meg a 4. jegyet [0-vege]: 6
Add meg a 5. jegyet [0-vege]: 7
Add meg a 6. jegyet [0-vege]: 0
Add meg a 7. jegyet [0-vege]: 0
A 0. érdemjegy: 1
A 1. érdemjegy: 2
A 2. érdemjegy: 3
A 3. érdemjegy: 4
A 4. érdemjegy: 5
A 5. érdemjegy: 6
A 6. érdemjegy: 7

Valakinek vmi tipp?

Kösz, Böhöm

dinamikus array[][]

Fórumok

Sziasztok!

dinamikusan szeretnék 2 dimenziós tömböt foglalni a memóriában. Így próbáltam:

int ***array;
array=malloc(sizeof(int[5][5]));
*array[2][2]=123;

Elszegfaultol. Azért használok ***-t, mert a malloc ugye pointert ad vissza (1 csillag), a 2 dimenziós tömb meg pointerpointer, tehát még 2 csillag.
Mi a baj? Hogyan tudom működésre bírni?
Előre köszi.

Új osztály-szintaktika? (KDevelop - Qt)

Fórumok

Sziasztok!

Nemrégiben kezdtem el foglalkozni a KDevelop programfejlesztővel, ami a TROLLTECH cég Qt termékén alapul, de ezt biztosan feleslegesen írom, hisz valószínűleg legtöbbetek tudja ezt.
De rátérek a kérdésem lényegére: A program egy új projekt indításakor automatikusan generál egy kis bázis kódot, amiből ki lehet indulni a fejlesztés kezdeti fázisában. Én pl. egy egyszerű alkalmazást generáltam, amiben az egyik fejállományban a következő kód generálódott az egyik osztálydeklaráció során:

class pj_xmp_01Widget : public pj_xmp_01WidgetBase
{
Q_OBJECT

public:
pj_xmp_01Widget(QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
~pj_xmp_01Widget();
/*$PUBLIC_FUNCTIONS$*/

public slots:
/*$PUBLIC_SLOTS$*/
virtual void button_clicked();

protected:
/*$PROTECTED_FUNCTIONS$*/

protected slots:
/*$PROTECTED_SLOTS$*/

};

Ebben két újdonság is van számomra. Az egyik a "Q_OBJECT" szó, ami valószínűleg azt fejezheti ki szerintem, hogy az osztály a Q_OBJECT ősosztály leszármazottja. Nem tudom mi ez! Valami plusz magyarázkodás? Hiszen az első sorban már megadtuk, hogy melyik osztály leszármazottja a mi saját osztályunk, aminek az őse feltehetőleg valamilyen Q_OBJECT lehet.
A másik újdonság a "slots" kulcsszó. Erről végképp nincs semmi elképzelésem, hogy mi lehet. A rendelkezésemre álló c++ könyvek ezzel nem foglalkoznak.
Annyi bizonyos, hogy a program lefordítható és fut is, tehát a GCC érti, hogy mi van benne. Így megállapíthatjuk, hogy szabványosak ezek a kifejezések, csak számomra újak.

Meg tudnátok mondani, hol lehet ezeknek a szintaktikai újdonságoknak utánaolvasni?
Kösz előre is!

ODBC csatlakozas (Code::Blocks IDE)

Fórumok

Kaptam egy feladatot amitol mar elore feltem, de muszaj lesz megoldanom. Sajnos a helyzet az, hogy csak 2 napom van a kivitelezesre.
Egy applikaciot kell keszitenem, ami Oracle adatbazishoz csatlakozik, vegrehajt bizonyos kereseket es az eredmenyt egy tavoli szerverel levo MySQL-be tarol le.
A gond ott kezdoik, hogy Code:Blocks-al kellene keszitsem a licensz miatt de sajnos meg nem sikerult egy olyan kodot talalnom, amivel odbc-re tudnek csatlakozni.
Esetleg ha valaki csinalt mar iet jol jonne egy kis segitseg

minősített időbélyegzés

Fórumok

Olyan linux alapú C++ kódot (esetleg parancssorból hívható programot) keresek ami alkalmas RFC 3161 szerinti Time Stamp szerverről időbélyeg beszerzésére, és PDF formátumú fájlok febélyegzésére. Esetleg ha minősített aláírással is el tudná látni a pdf fájlt, az jó lenne.

Valami hasonlóra gondolok mint pl. delphiben a NeviaPDF.

Más megoldás is érdekelne opensorce és fizetős is. A lényeg hogy Liuxon működjön.