-
Fototrend
Új hozzászólás Aktív témák
-
master bud
tag
Helló mindenkinek!
A következő problémával küzdök: egy mérési adatokat (valami vs idő) megjelenítő és azokat különböző szempontok alapján módosító (szűrés, dct, korrekció stb.) programot fejlesztek MATLAB-ban.
Kb. úgy néz ki, hogy a GUI-n van két nagy grafikon függ. elrendezésben, a felsőre behívom az eredeti adatsort, jobb oldalt mindenféle gombokkal módosítom/korrigálom majd a módosított adatokat az alsón ábrázolom, a könnyebb összehasonlítás végett. Ez megoldottam, a MATLAB erősen megkönnyíti az ember dolgát. (nem vagyok programozó szakmám szerint)
Aztán az jutott eszembe, hogy milyen jó lenne, ha a mérési adatokba ki/be lehetne zoomolni így megnézhetném, hogy nagy felbontásban mit csinált a szűrő stb. Na és itt mentem be az erdőbe, mert a nagyítás/kicsinyítés nyilván slide-oláshoz vezet és belebonyolódtam.
Amit kipróbáltam (beszéljünk csak az X tengelyről): veszem az ábrázolt tartomány min/max értékének különbségét, D=Xmax-Xmin. Ezt beszorzom mondjuk 0.125-tel, d=D*0.125. Ezt aztán hozzáadom/levonom a megfelelő értékekből és ezek lesznek az új skála értékek, Xmax=Xmax-d; Xmin=Xmin+d. Ugyanezt visszafelé is (zoom out). És hasonlóan az Y tengellyel is.
A gond az, hogy kb. 20 ilyen be és 20 vissza zoom után, értelemszerű kerekítési hibák miatt nem jutok vissza a kezdeti állapotba, mivel egy mérési adatnál nem prediktálható, hogy mi lesz a kezdeti Xmax és Xmin (lehet Xmin, 0.74176 sec pl.). Baj az is, hogy a nagyítás mértéke végig változatlan, ezért a finom felbontásnál már nagyot ugrik egy ilyen 0.125-ös szorzó.
Aztán a következő megoldás az volt, hogy bevezetek egy (állapot)számlálót és ennek értéke alapján módosítóm a skálát a következőképpen: ez a számláló legyen egy függvény független változója , és a függvényérték adjon egy egy szorzót amivel kiszámolom a 'd'-t. Magyarul legyen egy ilyen függvény: y=exp(-valami*állapotszámláló); d=D*y. Na ez már jobb volt de ez sem az igazi még.
Aztán eldurrant az agyam (mert a nagyított grafikon jobbra/görgetésébe is belegondoltam, ami nyilván bonyolítja) és az jutott eszembe, hogy egy programozó biztos többet tud ennek a gondolatmenetéről és felesleges újrafeltalálni a melegvizet.
Tehát tippekre lennék kíváncsi, kb. egy pszeudokódszerűségre, hogyan is oldják meg ezt a programozók
Előre is köszi!~~G::alactic O::bservation D::evice~~
-
aktív tag
Üdv!
Meg tudná vki mondani hogy hogy tudom használni visual c++-ban a PlaySound függvényt?
Mert ami leírást találtam rólaa neten az egyik sem működött. A wav fájlok lejátszására szolgál a cucc de nem jövök rá hogyl ehet használni.
Illetve van egy iylen megoldás ami műkszik csak nemértem a paramétereket nmetom testreszabni ugymond.
#include ''windows.h''
#include ''MMSystem.h''
#pragma comment(lib, ''winmm.lib'')
PlaySound(TEXT(''recycle.wav''), NULL, SND_FILENAME);
Az pl a lomtárürítés hangját játszogatja le de nem értem hogy hogyan tudok saját wavot belerakni.
Előreis thx a válaszokat!Youth hides the key to salvation
-
amargo
addikt
Sziasztok!
Segítséget szeretnék kérni, egy talán nem is olyan nagy próbatétellel kapcsolatban.
Szükségem volna egy olyan algoritmusra/forrásra (ha van valakinek), amivel megtudom oldani az OS / 2-s képernyő tervek windowsra portolását. Azaz, egy OS/2-es programbab (Designe1)-ben tervezet ablak és ezeknek koordinátáinak átemelése egy windowsos platformra. Kezdeményezéseim-e téren nekem is vannak ezért példát is írok:
Van egy objektumom
511,436,46,12
width, height, objectLength, objectHeight
Ezeket windowsra átrakva:
387,436,37,12
Kapom, mivel a magassága nem változik, viszont szélességben torzul az egész objektum.
Ezzel közelítőleg elég jól megtudom határozni az objektumot. Viszont 1-2 fura esetben pár pixeles eltérést, ami esztétikailag nem megfelelő. De ha valakinek van valami tuti trükkje, akkor ez is lelenne tudva
Előre is köszönöm a válaszokat!
Üdv
amargo“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
MODERÁTOR
sziasztok!
szükségem lenne egy kis segítségre! C++ :
- van 1 függvény ami bekéri a megnyitandó file nevét és ellenörzi hogy él -e a file.
- van még 1 függvény ami meszámolja a sorokat.
- van még 1 függvény ami pedig feltölti a strukturát (dinamikus tömb) adatokkal.
namost: az 1 függvény oks. referencia szerint továbbadom az (ifstream &f).
- a 2 függvényben még él a ''file'' művelet.
- a 3. függvényben viszont már nem. Mi lehet a probléma?"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
amargo
addikt
''- van még 1 függvény ami pedig feltölti a strukturát (dinamikus tömb) adatokkal.''
Mi alapján?
2. Miért akarod referenciaként átadni? Változtatod is?
3. Lehet a 2.-ban kinulláztad? (ha referencia volt)
Szerk:
cout << ''A fajl neve := '';
cin >> filename;
//Definiáljuk és megnyitjuk a fájlt
ifstream x(filename.c_str());
//Ha hiba van befejezzük a programot
if (x.fail()){
cout << ''A megadott fajlt nem talalom!'';
exit(1);
}
//Beolvassuk/kiírjuk a tömb hosszát
x >> n;
//Létrehozunk egy n elemű tömböt és kitöltjük
int* v = new int [ n ];
for(int i = 0; i < n; ++i)
x >> v[ i ];
Ilyesmire gondoltál? Csak függvényekre tagolva.
[Szerkesztve]“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
-
-
MODERÁTOR
na szóval. az a baj hogy nem nyitja meg a filet. mert ha kiiratom az f -et akkor kéne kapnom ugye 1 mem cimet. na most 1x kapok 2x függvényben is kapok és a 3x ban már 0 ir csak...
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
MODERÁTOR
sziasztok!
az előző problémát most oldom meg, másképpen csinálom meg.
viszont van 1 filekezelös bajom is. hogy kell azt megcsinálni hogy amig ez a függvény hamis, vagyis a megniytás sikertelen visszamennyen ''magába''
void openFile(ifstream &f)
{
string fileName;
cin >> fileName;
f.open(fileName.c_str());
if (f.fail())
{
cout << ''File megnyitasa nem sikerult!\n'';
}
else
{
cout << ''File megnyitasa sikerult! '' << fileName << endl;
}
}"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
aktív tag
Gyorsan kérdezek mégvmit
Nos a windowsos ablakkészítésről lenne szó. Tudom le van írva sok helyen megis néztem elolvastam. De nem akar működni sajnos. Valami teljesen alaphiba lehet dehát én hülye vok nem jövök rá miaz.
Itt két helyen is leírják mit hogyk ell és hogy kell paraméterezni:
[link]
[link]
Ezt még értem is. De nekem ezek a verziók nem fordulnak le hogy egyem a lelkét ennek a Visual Studio 2005-nek.
4 iylen szép hibaüzit kapok és nemértem mi a gond.
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
cannot convert from 'const char [14]' to 'LPCWSTR'
ilyenből ad be négyet csak annyi az eltérés hogy más más számú karakterek vannak. Ilyesmi votl a baja a Playsoundnál is bár az már megoldódott.
pls help! előreis thx!Youth hides the key to salvation
-
amargo
addikt
szerk: kicsit elmagyarázva, csinálsz egy do-while ciklust, miben annyiszór hívod meg, amíg a vissza kapott érték nem ture, azaz, nem volt sikeres a file megnyítása. Ezt akár az openFile-on belül is megcsinálhatod és akkor maradhat void típusú, igazából ez rajtad múlik, hogy mennyire akarod 1 függvénybe lekezelni az egész dolgot, ha túl sok minden van a main-edben akkor én az openFile ba tenném az egész megoldást, igaz így nehezebben is derül ki elsőnek, ha hiba van benne. Bár ez már máskérdés.
int main()
{
(...)
do
{
bool valid = openFile(f);
}while(!(valid == true));
(...)
}
bool openFile(ifstream &f)
{
string fileName;
cin >> fileName;
f.open(fileName.c_str());
//bool valid = false;
if (f.fail())
{
cout << ''File megnyitasa nem sikerult!\n'';
return false;
}
else
{
cout << ''File megnyitasa sikerult! '' << fileName << endl;
return true;
//valid = true;
}
//vagy(a kommentezet rész alapján) itt belül is egy boolba beleteszed az értéket, és itt //térsz vissza returne-al azzal.. stb, mert erre a megoldásra azt fogja mondani a fordító, //hogy nem tettszik neki. tehát azt is csinálhatod, hogy csak a valid változót adod vissza.. szeritnem az a jobb is.
//return valid;
}
[Szerkesztve]
[Szerkesztve]“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
-
MODERÁTOR
sziasztok!
újra lenne ki helpre szükségem! a sok mindenből erre jutottam:
[link]
most viszont az a probléma hogy a tömb felszabadításakor kifagy... ebben segítsetek légyszi!
/kivan kommentezve az a rész!/ lényege hogy amig !f.fail olvasni tud mindig nyit egy egyel nagyobb tömböt!
din mátrix akar lenni
köszi!"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
amargo
addikt
Két hiba is van ebben.
a tbook-ot miért akarod itt felszabadítani? a temp-et oks. De mit akarsz itt? Mert elég kusza.. a másik nagy gond, hogy a tbook létre incs hozva.. tehát nem foglalsz neki le memória területet. tbook = temp - ezzel nem csak a tartalmukat másolod össze, de a pointerek címét is, innentől, ha az 1iken elkövetsz valamit az a másikra is kihat. Meg ez a fura kihazsnálás, hogy elsőnek az n=0 és ezért nem megy a for-ba, fura.
void loadData(ifstream &f, int &n, tel* &tbook)
{
string name2, number2;
tel* temp;
while (!f.fail())
{
temp = new tel[n + 1];
for (int i = 0; i < n; ++i)
{
temp.name = tbook.name;
temp.number = tbook.number;
}
getline(f,name2,',');
getline(f,number2);
if(name2 == '''')
continue;
temp[n].name = name2;
temp[n].number = number2;
//delete[] tbook;
tbook = temp;
//delete[] temp;
++n;
}
cout << ''ENNEDIK'' << '' '' << tbook[n-1].name << '' '' << tbook[n-1].number << endl;
cin.ignore();
}“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
shev7
veterán
ketfelekeppen konnyithetned meg az eletedet
vagy a file tartalmazza, hogy hany sor van benne, vagy valamilyen dinamikus adatszerkezetet hasznalsz (pl lancolt lista)''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
-
MODERÁTOR
na igen. a többi az hogy egy file -t belerakok egy dinamikus tömbe. 1 sor két adat. és a file mérete nem lehet konstans azéer kell dinamikus.
akkor hogy csináljam meg hogy a file méretére változtassa a tömb méretét és lehessen utolag böviteni?"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
amargo
addikt
Ha nem engedik, hogy a file-tartalmazza a sorok számát, akkor getline-al mész az eof-ig, közben a \n-re keresel. Ezt egy függvényben keresed, aminek a return-ja lesz a sorok száma. Majd egy másikban felszabdalod az elválasztó karakterek alapján és beleteszed a struktura tömbödbe.
Azthiszem valahogy így lehet hivatkozni rá:
char buff[100];
while(!f.eof())
{
f.getline(buff,100,'\n');
n++;
}
[link]“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
sutszi
veterán
Üdv!
Van egy beadandó kisfeladatom. Jó szokás szerint közel sem tanítottak annyit, hogy ezt a végtelenül egyszerű feladatot megoldjam, még annyit sem hogy hozzá tudjak kezdeni. Ne értse félre senki, nem a megoldást kérem ezüst tálcán, csak támpontokat, vagy linkeket ahol erről szó van. Lehetőleg magyarul.
Mellesleg a feladat így szól:
Idézet:
Ha nem tudja értelmezni az argumentumait, valmai ehhez hasonló módon tájékoztasson:
%ls - G
UX:ls:ERROR:illegal option -- G
UX:ls: TO FIX: Usage: ls -RadclxmnlogrtucpFbqisfLARM [files]
Használja a szabványos ki és bemeneti fájlokat,működésének ne legyenek mellékhatásai (pl: ne haggyjon maga után szemetet, stb...)
a) Irja ki az argumenum(ai)ban adott sztring megforditottjat, vagy a szavakat forditott sorrendben.
b) Irj ki az argumentumban adott sztring osszes anagrammajat.
Elore is koszonom a segitseget.Mondja, Mr. Babbage, ha rossz adatokat ad meg a gépnek, akkor is jó válasz fog kijönni belőle?" Képtelen vagyok felfogni azt az értelmi zavart, ami valakit egy ilyen kérdés feltevésére késztethet. - by Charles Babbage
-
aktív tag
Megint egy kis hülye konvertálós hiba. Ugylátszik ezekkel mindig el leszek látva rendesen.
Nos a windowsos ablakom hátterét szerettem volna más színűre festeni. Alapból aszem csak LTGRAY meg WHITE van benne.
Dobtam egy ilyet:
HBRUSH RED = CreateSolidBrush(RGB(255, 2, 5));
aztán egy ilyet:
wincl.hbrBackground = (HBRUSH)GetStockObject(RED);
erre ezt a hibát kapom:
error C2664: 'GetStockObject' : cannot convert parameter 1 from 'HBRUSH' to 'int'
There is no context in which this conversion is possible
Előreis thx mindenkinek aki segít!Youth hides the key to salvation
-
shev7
veterán
válasz DelArco #2581 üzenetére
probaltad mar igy?
wincl.hbrBackground = RED;
nem is ertem mit akartal a getStockObject-tel azzal az elore definialt cuccokat lehet elkerni, itt a lista [link]''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
-
MODERÁTOR
sziasztok!
hogy lehet a képernyőről getline() nal olvasni?
ilyen kéne cin >> valami csak több szóra is mennyen"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
aktív tag
No fellépett még pár probléma amiket még nem sikerűlt megoldanom igy inkább avatottabb kezekre bízom őket.
Nos adott egy windows ablak és adott pár időzítő.
Azt akarom elérni hogy adott idöközönként kirajzoljon egy egy négyzetet az ablakba a progi. Megcsináltam eseményként abban elvileg hiba nincs és lefut de mégsem csinálja azt amit kéne. Nem rajzol ki semmit pedig az időzítő működik mertha pl. egy messageboxot teszek bele az műkszik.
Függvényként is megírtam itt a kedvencemmel egy konverziós erroral találtam szemben magam: 'SetTimer' : cannot convert parameter 2 from 'void (__stdcall *)(HWND,UINT,UINT,DWORD)' to 'UINT_PTR'
There is no context in which this conversion is possible
aki véletlen megérti mit akartam kifejezni ezzel az összefüggéstelen szóhalmazzal az legyenszíves segítsen! Előreis thx!Youth hides the key to salvation
-
aktív tag
Még1 keresztkérdés mert mérne!
MessageBox-ban hogy lehet változót megjeleníteni ha egyáltalán lehet ilyet?
Mondjuk van egy int-em amit szeretnék beilleszteni a második paraméter helyére vhogy igy:
MessageBox(hwnd,c,''Mocsoablak'',MB_OK | MB_ICONINFORMATION)
Szal ilyet lehetséges vhogy megoldani?
Mert ugye a szokásos nem tudom konvertálni probléma lép fel. int to LPCSTR.
Thx a helpet ha kapok ha nem!Youth hides the key to salvation
-
MODERÁTOR
sziasztok!
tudtok adni valami tutorial vindózra programozáshoz? pl ablakolkkal akarok játszani fájlműveletek... miben más mint a C (tud többet / kevesebbet? )"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
Protezis
őstag
elso talalat: [link]
Kozvetlen windows programozas helyett ajanlanam inkabb ezeket:
- Java (ehhez mondjuk ajanlom az eclipse + visual editor plug-in kombot)
- MFC ( hagyomanyos wines programok, visual c++ 6, vagy valamelyik visual studio)
- .NET framework hasznalata (c++, c# stb., ehhez visual studio 2003, 2005)
Visual Studiobol az express edition is eleg lesz kezdetnek, ingyen letoltheto az ms honlapjarol.
A guitol csak felhasznalobaratabb lesz a programod.
[Szerkesztve] -
amargo
addikt
válasz DelArco #2587 üzenetére
Csak egy kicsit nézd meg, hogy mitvár a függvény, hidd el(!), könnyebb lesz neked is.
LPCSTR Pointer to a constant null-terminated string of 8-bit Windows (ANSI) characters. For more information, see Character Sets Used By Fonts.
Ha most ebbe egy intet akarsz belegyömöszkélni, az kicsit macerás, ezért inkább használd az itoa-t([link]) átalakításra vagy ami éppen a kezedben van.
Szerk:
mobal :
- java, C#, builder c++, akár .Net-et használva(az mfc gusztustalan.. <- csak az én véleményem)
Elég jó könyvek vannak hozzájuk, igaz java könyvem nincs, de a többit ismerem.
Esetleg egy kis segítség: [link]
Érdemes megvenni is: [link]
C# : [link]
Sok siekrt!
[Szerkesztve]“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
aktív tag
Nso egy kissebb probléma ütötte fel a fejét ismét. Megprószáltam átküldeni egy ismerősnek a progimat amit csinálgattam. Csakhogy senki másnál nem műkszik csak nálam./az alkalmazást nem sikerült elindítani, mert a konfigurációja helytelen/ Nézegettem körbe körbe hogy mi lehet a megoldás és valaki rávilágított arra hogy állítsam fen a deboggolós menüt Release-re mert igy olyan exe-t csinál amihez nem kell telepítve lennie a C++-nak meg egyebeknek. Nos én bátran beis löktem csakhogy mostmeg telepakolta ez a jó fordító errorokkal a képernyőt hogy őbizony nem tud char -ból LPCWSTR-t csinálni. Ezt mindenhol eljátszotta a progiban ahol char tömböt vettem fel és abban tároltam vmit. Ez mindegyik karakteres cuccra vonatkozik a progiban kezdve a főablak nevétől a messageboxon át a wsprintf-ig. Nos nézeggettem neten azt kérdezném hogy hogy lehet egyszerűen megoldani a problémát. Mindenhol külön külön konvertálgatni kell char-ból LPCWSTR-be? Vagy van vaalmi egyszerübb megoldás ami egycsapásra megoldja ezirányú gondjaimat?
Előreis thx!Youth hides the key to salvation
-
aktív tag
válasz Jester01 #2594 üzenetére
Esetleg tudnál olyan beállításokat mondani Visual Studio 2005 VC++ Win32-es alkalmazáshoz hogy azt gond nélkül tudjam fordítani olyan módban hogy azt bárhol lehessen futtatni? Én megvallom nemigen értek hozzá. A progimban nincs semmi különös csak egy win ablak pár messagebox időzítők meg pár WM-PAINT-os rajzocska. Azt hittem ebben ugy különössebben nem lehet hiba.
No a lényeg a lényeg:Ha tudsz légyszi írd le hogyan kell beállítani vagy ha hosszú lenne akkor légyszi linkelj valami forrást ami ezzel foglalkozik.Youth hides the key to salvation
-
Lortech
addikt
válasz DelArco #2595 üzenetére
Jól úgy lehet megoldani, hogy lekérdezed a _MBCS (multi-byte char set) vagy a _UNICODE (unicode char set) makrót és annak megfelelő típusokat használsz.
Ezzel tudod megállapítani, hogy a fordítókörnyezetben mi van beállítva. Ha MBCS, akkor a unicode változat nem fog menni, ha meg unicode-ra van állítva akkor az MBCSíre megírt kódod nem fog fordulni.
Alapbeállítás szerint az újabb visual studiokban unicode van beállítva, szóval ha nem akarsz jó megoldást, csak egy általában működőt, mert nem akarsz belemélyedni, akkor a beállításokat hagyd unicode-nak, és használj ennek megfelelő típust, char helyett wchar_t -t, valamint az összes string literálod elé tegyél egy L prefixet. Pl a programod első sora : const wchar_t g_szClassName[] = L''myWindowClass'';Thank you to god for making me an atheist
-
Realradical
őstag
Valaki visual foxpro témában tud nekem segíteni?
Things that try to look like things often do look more like things than things
-
orbano
félisten
-
Realradical
őstag
A foxpros nyomtatási eljárásokról lenne kérdésem... Mégpedig, hogy miért generál nekem egy foxpros progi egy foxpro user-defined job feladatot a nyomtatási listába egy progi. Nincs mérete, nem nyomtatódik ki semmi, de időnként elakad és akkor a nyomtatási listából ki se lehet szedni csak reboottal, vagy nyomtató áramtalanítással. Minden nyomtatásnál reflexből két feladatot küld nyomtatóra a progi. Egy a rendes nyomtatás egy meg ez. A fura az, hogy ha nyomtató ki/bekapcsot csinálok 2x viszi fel a kért utasítást az sql-be. Nyilván nem a pontos hibamegoldást szeretném tudni hanem hogy mi okozhatja ezt kb.
Things that try to look like things often do look more like things than things
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Nyíregyháza és környéke adok-veszek-beszélgetek
- Autós topik
- Milyen légkondit a lakásba?
- Gitáros topic
- Milyen billentyűzetet vegyek?
- A fociról könnyedén, egy baráti társaságban
- HiFi műszaki szemmel - sztereó hangrendszerek
- Internet Rádió építése (hardver), és programozása
- Építő/felújító topik
- Kerékpárosok, bringások ide!
- További aktív témák...