- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Lalikiraly: Astra kalandok @Harmadik rész
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sh4d0w: Árnyékos sarok
- gban: Ingyen kellene, de tegnapra
- Magga: PLEX: multimédia az egész lakásban
- Mr Dini: Mindent a StreamSharkról!
- Zolaash: Ford Galaxy gázpedál csere
- N€T0X|N: Stellar Blade után
-
LOGOUT
Új hozzászólás Aktív témák
-
bdav
őstag
válasz
Pho3bus #2097 üzenetére
ha a helyiértékes felbontás megvan akkor én hármasával szedném a számjegyeket (száz - tíz - egy), u.i ezek közösek, és csak utána kell írni hogy ezer v. millió ha 3mal odébb vannak. a neccesebb résznek én a kötőjelezés eldöntését tartom, de tényleg ott a pontos szabályoknak sztem nézz utána.
-
c*
aktív tag
hi a kerdesem ugyanaz lenne mint a topiknyitonak tudtok nepszeru programozoi forumokat a prog.hu n kivul ahol nem csak olyan ph sok neznek oda akik programoznak hanem sok programozo . . .?!
-
-
Tottu
senior tag
Az folyamat már kéc.
Inkább a file kezeléssel lennének gondok: próbáltam olyan progit írni ami beolvas egy file-t és annak a tartalmát átírja egy másikba. De nekem soha nem sikerült beolvasni. (Vki írna egy példa progit?)
A C-ben van olyan függvény ami megvizsgálja hogy sikeresen nyitottam-e meg a file-t? (mint Pascal-ban az IORESULT) -
Tottu
senior tag
válasz
Pho3bus #2091 üzenetére
Te is szenvedsz a progival?
Nekem már kész van a terv.(remélem fog is működni, ha nem akkor...)
Egyébként az én feladatom: beolvas egy ELŐJELES számot egy file-ból (MAX számjegy: 100db, MIN hogy ne férjen bele egy változóba se) ezután van egy műveleti jel + vagy - és a következő szám egészen addig amig nem olvasunk be egy = jelet.
Előszőr nem is gondoltam hogy ilyen nehéz lesz, de amikor elkezdtem gondolkozni azon hogy mi van ha ''-'' -hoz adok hozzá egy számot, és az első szám kisebb mint a második (természetessen a negatív számot ha pozitívnak veszem), akkor előjel váltás következik be. Nah ez az egyik eset, de lehet még bőven ragozni.
Nekem ehez kb 3 óra volt szükséges hogy rájöjjek mit és hogyan kell csinálni. -
bdav
őstag
válasz
Pho3bus #2089 üzenetére
arra gondolsz hogy beírod neki azt hogy 3468 és kiírja hogy háromezer-négyszázhatvannyolc?
azt vkönnyű megoldani hogy meglegyenek az egyes helyiértékek: legyen x a bemeneted, ekkor legkisebb helyiérték=x%10; x=(x-x%10)/10; és így tovább amíg 0 nem lesz x. Ezek után most fel kéne lapozni a magyar helyesírási szabályzatot hogy hogy is van pontosan(2000ig mindentegybeírunk utána kötőjelezünk kivéve ha ''kerek'' a szám)
[Szerkesztve] -
Pho3bus
tag
helló mindenkinek!!kezdő c-programozó vagyok,vagyis inkább szeretnék az lenni!!egy segitségre lenne szükségem!!hogyan lehet azt c-ben megoldani,h egy beolvasott számot kiirjon betüvel!!nem teljes programra gondoltam,hanem egy kis segitségre,hogy el tudjak legalább indulni,mert nincs sok ötletem!!a segitséget előre is köszönöm!!
-
Tottu
senior tag
Nekem a C-vel kapcsolatban lenne egy kérdésem: hogy lehet egy teljes sort beolvasni egy fileból, és ugyan ezt karakterenként? Próbáltam fscanf-el de egyszerűen nem olvas be semmit. A file kiírás talán menne, mert a file-t létrehozza.
-
gabesz82
őstag
Sziasztok!
JAVA-ban kellene nekem segíteni. Természetesen nem ingyen. Aki keni-vágja írhat egy privitKöszi
-
orgonista
csendes tag
Sziasztok!
A gnuplotot szeretném egy shell szkriptből vezérelni egy named pipe-on keresztül linux alatt. Hogy a gnuplot ne lépjen ki az első átküldött utasítás után, a következő programot írtam, ami kiszűri az EOF-okat az adatfolyamból:
// eoftalanit.c
# include <stdio.h>
main() {
int a;
while (1) {
a = getc(stdin);
if (a == EOF) {
putc('\n', stdout);
} else {
putc(a, stdout);
}
}
}
Létrehozom a pipe-file-t:
$ mkfifo namedpipe
és ráakasztom a gnuplotot:
$ eoftalanit <namedpipe | gnuplot &
utána küldhetem az utasításokat bele:
$ echo 'test' >namedpipe
Eddig ok, az utasítás lefut és a programom várja a következő utasítást, ám közben a ciklus körbe-körbe jár. Mindig EOF-ot olvas és újsort küld a gnuplotnak, ezzel felzabál a kettő együtt kb. 90% proc. időt. Az érdekes számomra az, hogy az első getc(stdin) hívás még szépen vár míg küldök valamit, a ciklus csak ezután fut folyamatosan.
A kérdésem az, hogy hogyan érhetem el, hogy miután megkapja az EOF-ot az utasítás végén, térjen vissza a kiindulási állapotba és a getc() várjon türelemmel a következő nem EOF-ra?
köszönöm: orgonista
[Szerkesztve] -
válasz
Yeti910331 #2071 üzenetére
DOSBox és free... ?
-
Yeti910331
aktív tag
Aha, ok, értem, thx a segítséget. Van hozzá XP kompatibilitás mód csak nem műxik 100%-osan.
-
doc
nagyúr
na ja, egy ilyen engine-en egész programozócsapat dolgozik hónapokon vagy akár éveken át, ezt senki nem fogja haverságból bevállalni...
esetleg az lehet járható út hogy egy meglévő, nyílt forrású motorra valahogy megpróbálja az ember ráhúzni a cumót, de ahhoz meg ugye teljesen kell ismerni a program által használt file-ok szerkezetét, ami nem tudom mennyire nyilvános
de még így is rengeteg meló -
k.t.a.
senior tag
válasz
Yeti910331 #2078 üzenetére
Először azt hittem, h csak egy egyszerűbb logikai játékot szeretnél átvarázsoltatni XP-re, de ezek olyan kaliberű game-ek, amiket szvsz halandó nem fog tudni megfizetni. Mármint az átiratukat mondjuk DirectX9-re vagy OpenGL2.0-ra. Ha meg lenne a forráskód, meg még leírás is hozzá, és persze az összes jogi dolog, akkor még talán 1-2 programozó is meg tudná csinálni, viszonylag hamar, és akkor talán nem is kerülne olyan sokba, de ha nem ilyen a helyzet, akkor az piszok sokba fog fájni neked, és örülsz, ha egyáltalán találsz rá embert. Szvsz ezek nem olyan régi játékok, h ne lenne hozzájuk valamilyen patch, ami WinXP kompatibilissá teszi őket. Nézz körül a neten, ha még nem tetted.
-
doc
nagyúr
válasz
Yeti910331 #2071 üzenetére
ez azért nem így megy, egyrészt valószínűleg az egész játékot újra kell írni, másrészt az eredeti játék adatainak (pl. grafikák, hangok) felhasználása már jogi terület...
azt azért lehet tudni hogy melyik game-ről van szó? -
-
bdav
őstag
válasz
Yeti910331 #2071 üzenetére
valszeg sokba. egyrészt ha elvileg működne is a dolog, szükséged lenne az eredeti játék forráskódjára, ami nem egy egyszerű menet annyira azért. másrészt én úgy vélem hogy régebben annyira nem különült el a játék grafikus motorja a többitől (minél régebbi annál kevésbé). harmadrészt a programozók drágán dolgoznak
(és pl. nem is biztos hogy egy programozó elég)
[Szerkesztve] -
bdav
őstag
hát sztem .net framework pl. linux alá nincs
(msdnen legalábbis nem láttam nyomát - meg ki csinálna ilyet?) java ebből a szempontból jobb, fájlkezelés ott se annyira gáz, de az ftp valóban nehezebb
egyébként meg mikoljannak ha még sose programozott akkor az alapokkal kéne tisztába jönnie (változó, ciklus, stb...), és csak utána nekiállni ftp klienst írni. .Net -et én most kezdem tanulni egyetemen, aztán azt mondták h. tiszta agymosás (tapasztalom is, 2 betűnél ritkán kell többet beírni...), másban utána már nem tud programozni az ember, úgyh. félek is tőle
-
Yeti910331
aktív tag
Helló!
Az lenne a kérdésem, ha csináltatnék egy programozóval új grafikus motort egy régi DOS-os játékhoz (XP-kompatibilisat), az kb. mennyibe kerülne?
Előre is kösz. -
shev7
veterán
válasz
Forest_roby #2067 üzenetére
jonak tunik. Remelem a jumpokat jol csinaltad, mert azokkal nem vagyok teljesen tisztaba.
-
Forest_roby
őstag
válasz
Forest_roby #2066 üzenetére
kicsit módosítottam:
ax = pozitív szám
bx = pozitív szám
osszehasonlitas:
cmp bx,ax
jnb userror
xchg bx,ax
userror:
cmp 2,bx ;a 2-vel hasonlítom össze, ha bx nagyobb egyenő, akkor tovább egyébként hiba kiírása és vége!
j?? tovabb
print: nincs közös osztó
jmp vege
tovabb:
cmp bx,ax
j?e? vege ;if equal jump vege else 'ez köv most:'
sub ax,bx ;ax -ba belekerül ax-bx értéke, bx marad, ezzel megvan a 2db kisebb szám is
jmp osszehasonlitas ;ugrás az összehasonlítás részhez
vege:
end
[Szerkesztve] -
Forest_roby
őstag
okay!
Elég rövidke lett, lehet kifelejtettem vmit -nem tom, nekem jónak tűnik!
ax = pozitív szám
bx = pozitív szám
osszehasonlitas:
cmp bx,ax
jnb tovabb
xchg bx,ax
tovabb:
cmp bx,ax
je vege ;if equal jump vege else 'ez köv most:'
sub ax,bx ; ax -ba belekerül ax-bx értéke, bx marad, ezzel megvan a 2db kisebb szám is
jump osszehasonlitas ;ugrás az összehasonlítás részhez
vege:
end
[Szerkesztve] -
shev7
veterán
válasz
Forest_roby #2064 üzenetére
hat nem sokat programoztam assemblyben de azert egy lnko programot megertek, ha jol megkommentezed
akkor este megnezem.
-
Forest_roby
őstag
-
shev7
veterán
válasz
Forest_roby #2062 üzenetére
sztem igen. De miert nem probalod ki?
-
shev7
veterán
válasz
Forest_roby #2060 üzenetére
azert szoktak azt csinalni, hogy ha kell kesobb az ertek, akkor kivonas elott atmasoljak egy masik regiszterben es ott vegzik el a muveletet.
MOD: nem
SUB Instruction
Purpose: Subtraction.
Syntax:
SUB destiny, source
It subtracts the source operator from the destiny.
[Szerkesztve] -
shev7
veterán
válasz
Forest_roby #2058 üzenetére
szerintem ha azt iod, hogy sub ax,bx akkor ax-ben ax-bx erteke lesz benne...
-
Forest_roby
őstag
Hi!
Assembly:
ax-bem és bx-ben is van egyszám, ax-ben van a nagyobb!!!
Hogy tudom kivonni az ax értékéből a bx értékét ugy, hogy ezt azuj számot belerakjon egy harmadik regiszterbe v. és ez lenne a jobb, rögtön az ax helyére, felülírva ezzel a régi értékét!
( röviden: nem egészen ismerem a sub működését! )
Köszi a válaszokat!
mod:
sub bx, ax ;hova kerül a végeredmény?????
[Szerkesztve] -
k.t.a.
senior tag
válasz
mikoljan #2056 üzenetére
Szerintem erre a .NET lenne a legjobb. Mert az platform független. Azon belül meg választhatsz nyelvet, mert elég sok van (vc++, c#, vb, j#, stb). Nyelvek közül azt válaszd amelyik szimpatikusabb, vagy ha más irányban is szeretnél tovább lépni, akkor az ahoz közelebb állót. A .NET csak annyit tesz, hogy olyan exe-t tudsz vele készíteni, amit csak olyan gépen futtathatsz amire fel van telepítve a FrameWork (ez már van szinte mindenre). Előnye, hogy nincs olyan sok féle változó mint a C++-ban, és szinte mindenne futtatható a végeredmény. És elég jó leírások is vannak hozzá. De majd a többiek megmondják a frankót.
-
mikoljan
tag
Sziasztok!
Előre leszögezném, hogy teljesen laikus vagyok a témában, de szeretném ismereteimet ez irányba is bővíteni. Ezért tanácsot, ötletet kérnék tőletek, hogy milyen programnyelvvel tudnék olyan dolgokat megvalósítani, mint például szöveg file-ok manipulálása (karakter részek adott pocizíóba történő ''mozgatása''), vagy adott ftp szerverről, meghatározott könyvtárból, a megfelelő file-ok letöltése.
Minden tippet, ötletet előre is megköszönök. -
k.t.a.
senior tag
Még egy apróság: 2^n erre a kifejezésre nem ad vissza normális értéket, mivel tudnám helyettesíteni? Mert a progim if(num&(128/(2^n))) k++; kiakad ennél a résznél, hogy nullával akarok osztani. Rosszul tudom, hogy ez a hatványozás?
[Szerkesztve] -
k.t.a.
senior tag
Jó nekem a C++, mert a végeredmény a fontos. A feladat az, hogy egy 8bites kivonó áramkört kell készíteni, és most egy progit írok, ami függvényegyszerüsítést csinál (Digitális technika->Quine Mcluskey). Mert csak a 8 kimenet függvényeit kell leadni. Cél IC-t, vagy mikrokontrollert nem lehet használni.
-
-
bdav
őstag
new és delete csak C++-ban van. A legtöbb mai fejlesztőprogi ami erre való az C/C++. A kérdés hogy neked jó-e a C++ vagy szigorúan C kell.
intekkel írom, mert az egyszerűbb most
C megoldás (ebbe lehet hogy van hiba, tök rég nem írtam már Cben dinamikus foglalást):
int tomb**=malloc(8*sizeof(int*)); //ez lefoglal 8 int* nak helyet
for(i=0; i<8; i++) //i -t deklaráld azért előbb
{
tomb[ i]=malloc(n*sizeof(int)); //ez minden tomb[ i]-nek foglal n int helyet
}
A végén egy free(tomb); hívás illik.
ha C++ van:
int tomb**=new int*[8]; //8 int* nak a tömbje
for(int i=0; i<8; i++) //itt már lehet i-t deklarálni menet közben is
{
tomb[ i]=new int[n];
}
végén delete[] tomb;
[Szerkesztve]
[Szerkesztve] -
-
k.t.a.
senior tag
Hali!
Segítsetek egy picit mert nem jövök rá a megoldásra. A prog nyelv az C.
A problémám meg az, hogy hogyan lehet egy két dimenziós struktúra tömbböt dinamikusan létrehozni, úgy hogy a sorok száma adott, csak az oszlopok száma a dinamikus. Tehát akarok csinálni egy Q[8][n] tömbböt, ahol a n-t előbb ki akarom számolni, és minden elem egy struct. Valahogy úgy kell, hogy
prim *(Q[8]) = new prim[8][n];
ahol prim egy struktúra, és n már előtte ki lett számolva, de erre hibát ír ki, hogy nem adhatok csak konstanst a tömbnek. -
shev7
veterán
attol fugg mit akarsz. Ha ''nullarol'' tanulsz programozni, akkor valami egyszerubbet (akar borland c) ajanlanek, hogy az alapokat is megtanuld. Ha mar tudsz programozni, akkor attol fugg mit akarsz.
ha windows alkalmazasokat fejleszteni, akkor a VS egesz jo tamogatast nyujt ehhez.
-
sziasztok! mit ajánlotok c ++ hoz? devc++ microsoft visual .net studio 2003(?) vagy codeblocks? kezdő vok nemsoká programozni akarok ebben! köszi!
-
Jester01
veterán
válasz
Forest_roby #2039 üzenetére
Ez a C átka. A stringeket cím szerint adja át, a számokat érték szerint. Vagyis a %s egy pointert vár. Ha a szám nulla (vagyis üres volt a szövegmező) akkor ez egy null pointer lesz amit külön lekezel a printf. De ha valami más számot adsz át, akkor bizony arról a - jó eséllyel érvénytelen - memóriacímről megpróbál olvasni, és így lesz segfault. Egyébiránt a gcc fordításidőben észreveszi az ilyen hibát, ha a -Wall kapcsolót használod (ez mindig jó ötlet):
callbacks.c:231: warning: format argument is not a pointer (arg 4) -
amargo
addikt
válasz
shaft72 #2027 üzenetére
Azért ez nem olyan egyszerű(szerintem), hogy csak úgy valaki megírja most neked.. bár lehet jó kihívásnak találná, vagy jó 5lete van rá.
Viszont valószínű létezik erre is valami prog. De én nem ismerek [link] google:image/picture match
De, ha 5let kell, nekem van rá, tekintve, hogy sorokban kitudod olvasni BMP-ből a szineket.. ahol eltér a kettő, ott megjelölöd valamivel. Nos ez elméleti volt, ezen a nyomon elindulhat valaki, ha gondolja:
BITMAP bm1;
GetObject(Image1->Picture->Bitmap->Handle, sizeof(bm1), &bm1);
//step through lines of first bitmap two at a time and
//average pixels into the second bitmap
for (int row=0;row<bm1.bmHeight/2;row++)
{
for (int col=0;col<bm1.bmWidth/2;col++)
{
//get addresses of the four pixels in the source bitmap
unsigned char* bm1ptr1=(unsigned char*)bm1.bmBits+(bm1.bmHeight-row*2)*bm1.bmWidthBytes+col*2*bm1.bmBitsPixel/8;
unsigned char* bm1ptr2=bm1ptr1+3;
unsigned char* bm1ptr3=(unsigned char*)bm1.bmBits+(bm1.bmHeight-row*2)*bm1.bmWidthBytes+col*2*bm1.bmBitsPixel/8;
unsigned char* bm1ptr4=bm1ptr3+3;
//get address of the corresponding pixel in the destination bitmap
unsigned char* bm2ptr=(unsigned char*)Image2->Picture->Bitmap->ScanLine[row]+col*bm1.bmBitsPixel/8;
//average source pixel RGB values
BYTE finalRed=(bm1ptr1[0]+bm1ptr2[0]+bm1ptr3[0]+bm1ptr4[0])/4;
BYTE finalGreen=(bm1ptr1[1]+bm1ptr2[1]+bm1ptr3[1]+bm1ptr4[1])/4;
BYTE finalBlue=(bm1ptr1[2]+bm1ptr2[2]+bm1ptr3[2]+bm1ptr4[2])/4;
//put averaged values into the final bitmap
bm2ptr[0]=finalRed;
bm2ptr[1]=finalGreen;
bm2ptr[2]=finalBlue;
}
} -
Jester01
veterán
válasz
Forest_roby #2035 üzenetére
Mail megjött.
Ez a smiley kell neked azt hiszem:
A debug üzenetedbe hal beleA számot ne %s-el írd ki, mert az nem jó
g_message(''A szöveg hossza: %d\n'', gtk_text_buffer_get_char_count(textview_buffer)); -
Forest_roby
őstag
válasz
Forest_roby #2035 üzenetére
az elözőben kicsit sok a per és vmiért nálam nem is műxik. itt egy másik link:
[link]
köszi a segítséget! -
Jester01
veterán
válasz
Forest_roby #2033 üzenetére
> wget 'http://www.uw.hu/admin/webftp/PHPFTP_main.php?phpftp_cmd=get&phpftp_file=myeditor-0.1.tar.gz'
...
Length: 0 [application/octetstream] -
Jester01
veterán
válasz
Forest_roby #2030 üzenetére
Ide vele! Valami a widget struktúrával lehet, ha a target NULL...
-
Forest_roby
őstag
válasz
Jester01 #2029 üzenetére
jahhh, tényleg jó lenne a fv, de most még nem tudom használni eggyik megoldást se mert rossz a target és ha az rossz, akkor rossza a buffer is és akkor nem tudok rá jól hivatkozni - vagyis fagy a progi.
ez nem volt jó: g_message(''A szöveg hossza: %s\n'', gtk_text_buffer_get_char_count(textview_buffer));
nyilván a textview_buffer rossz, hibás....
[Szerkesztve] -
Forest_roby
őstag
válasz
Forest_roby #2028 üzenetére
abszolút véletlen módon találtam benne egy hibát!
GtkWidget *target; helyett GtkTextView *target; kellet volna, de ez a fő hibán nem javított, most is ugyan úgy fagy, ha kiveszem a commentet, csak most más a gcc hibaüzije.
callbacks.c: In function ‘on_open1_activate’:
callbacks.c:229: warning: assignment from incompatible pointer type
callbacks.c:243: warning: comparison between pointer and integer
callbacks.c: In function ‘on_save1_activate’:
callbacks.c:283: warning: assignment from incompatible pointer type
callbacks.c: In function ‘on_save_as1_activate’:
callbacks.c:346: warning: assignment makes pointer from integer without a cast
229: target = lookup_widget(GTK_WIDGET(menuitem), ''myeditor_textview'');
243: if ( size != NULL ) //ez a commentes részben van!
283: target = lookup_widget(GTK_WIDGET(menuitem), ''myeditor_textview'');
ezzel a sorral lesznek a problémák!!!
346: az véletlen, nem commenteztem ki vmit
szóval itt a bibi: target = lookup_widget(GTK_WIDGET(menuitem), ''myeditor_textview'');
mod:
Jester01: ha még mindig kell, akkor tudok adni forrást, bár sztem innen neked már meglesz, ha nem szól és már töltöm is fel vhova.
[Szerkesztve] -
Jester01
veterán
válasz
Forest_roby #2028 üzenetére
A 2 warning szerintem 2 cast-tal orvosolható. A szöveg hosszát pedig a gtk_text_buffer_get_char_count függvénnyel egyszerûen le tudod kérdezni.
Azt, hogy mi a baj a te kódoddal így ránézésre nem tudom, ha adsz teljes forrást ami lefordul akkor esetleg megnézem. -
Forest_roby
őstag
Hi!
eddig:
- Lortech köszi!
- Az ablak bezárása és a progiból való kilépés sikerült!
- Ill a másik kérdés is megvan
most:
gcc hibát ír ki, de a progi lefordul -> ha bővítem a progit, akkor vagy lefordú aztán lefagy vagy le se fordul. : (
gcc- hibaüzi:
callbacks.c: In function ‘on_open1_activate’:
callbacks.c:155: warning: passing argument 1 of ‘gtk_text_view_get_buffer’ from incompatible pointer type
callbacks.c:185: warning: passing argument 2 of ‘load_file_to_textview’ from incompatible pointer type
progi forrás részlet!
void
on_open1_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkWidget *window;
GtkWidget *file_chooser;
GtkWidget *target;
GtkTextBuffer *textview_buffer = NULL;
gchar *file_name;
//GtkWidget *dialog;
//GtkTextBuffer *text_buffer = NULL;
//GtkTextIter start;
//GtkTextIter end;
//gchar *text;
//size_t size;
gint response;
window = lookup_widget(GTK_WIDGET(menuitem), ''myeditor_window'');
target = lookup_widget(GTK_WIDGET(menuitem), ''myeditor_textview'');
textview_buffer = gtk_text_view_get_buffer(target);
/*
* A szöveg kiolvasása a szövegszerkesztőből.
*/
/*
text_buffer = gtk_text_view_get_buffer(target);
gtk_text_buffer_get_start_iter(text_buffer, &start);
gtk_text_buffer_get_end_iter(text_buffer, &end);
text = gtk_text_buffer_get_text(text_buffer,&start,&end,TRUE);
size = strlen(text);
if ( size != NULL )
g_message(''Biztos, hogy meg akarsz nyitni vmi-t? %s\n'', size);
//ez így hülyeség, de vhogy le kell ellenőriztetni, hogy üres -e v. nem -e a textview!
//üres szöveg megnyitásánál kekeckedik!
*/
file_chooser = gtk_file_chooser_dialog_new(''Open file'',
GTK_WINDOW(window),
GTK_FILE_CHOOSER_ACTION_OPEN,
GTK_STOCK_OPEN, GTK_RESPONSE_OK,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
NULL);
response = gtk_dialog_run(GTK_DIALOG(file_chooser));
if (response == GTK_RESPONSE_OK){
file_name = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(file_chooser));
g_message(''File: %s\n'', file_name);
load_file_to_textview(window, target, file_name);
}else{
gtk_widget_destroy(file_chooser);
return;
}
if (file_name != NULL)
g_free(file_name);
gtk_widget_destroy(file_chooser);
}
ha a kicommentezett részt berakom, akkor már tuti fagyni fog a progi a második megnyitásnál!
Mit basztam el?
Előre is köszi a segítségeket!
[Szerkesztve] -
shaft72
tag
Sok okos progger van itt, hátha ismertek ilyen programot, vagy tudtok írni ilyet
Nekem egy olyan windows alapú program kéne, amely két, ugyanakkora felbontású képet szépen összehasonlít, valamilyen színnel kiemeli a különbségeket, és lehessen benne zoomolni úgy, hogy a marking ne tűnjön el.
Anybody could help? -
Lortech
addikt
válasz
Forest_roby #2025 üzenetére
@data az az adatszegmens kezdőcíme, abban a sorban ezt beleteszi ax-be.
:inlup,utlup egy címke, másképpen szimbólum (nincs nyoma a kódban). A program_kód_ minden sora egy-egy cím végülis, ha egy utasítást vagy ''adatdefiníciót'' tartalmazó sort megelőz egy cimke: alak, akkor ez a címke az őt követő kód címét szimbolizálja. Egy hívásban, ugrásban, ciklusban pedig felhasználhatod ezt a szimbólumot, hivatkozhatsz rá, rámutat egy címre.
Mint pl itt, a loop inlup. Ez egy ciklusszervezés, ennek hatására ugrik a vezérlés inlupra, és ismétlődik cx=0-ig a ciklus. Maga az utasításkód, a kódszegmens a .code-tól, az adatszegmens a .data-tól kezdődik. A felső sorok a fordítónak szólnak. -
Forest_roby
őstag
Hi!
Férretéve egy kicsit az elöző problémákat, itt egy ujabb. Csak, hogy ne legyen egyszerű az életem, idei évben elkezdtük tanulni a suliban az assembly programozást. Még csak elméleti óra volt, de a tanár mondta, hogy írjunk egy alap rendező programot neki (nem feltétlenül kell működnie, csak elviekben legyen jó), gondolom látni szeretné, hogy mennyit fogtunk fel az óráiból....
Na, szóval rákerestem az interneten : ) a bubble sort szavakra és találtam is szép számmal forráskódot, a baj csak az, hogy nem tudom, hogy hol kezdődik és hol van vége, melyik része kód, melyik nem stb…..
Pl itt egy kód:
;1 Write an alp to sort in ascending order using bubble sort algorithm
; a given set of byte sized unsigned numbers in memory.The sorted
; elements should replace the original unsorted elements in memory.
name bubblesort
page 60,80
title ascending order using bubble sort
.model small
.stack 64
.data
a db 34h,78h,56h,47h
si_ze dw $-a ;si_ze=no of elements
.code
bubsort:
mov ax,@data
mov ds,ax
mov bx,si_ze
dec bx ;bx=no of passes needed to complete sorting(n-1)
outlup:
mov cx,bx ;cx=no of comparisions to be performed in a pass
mov si,0
inlup:
mov al,a[si]
inc si
cmp al,a[si]
jb go_on
xchg al,a[si]
mov a[si-1],al
go_on:
loop inlup ;dec cx,until cx=0
dec bx
jnz outlup
int 3 ;breakpoint interrupt
align 16
end bubsort
Annyira rájöttem, hogy a ; után comment jön…. : )
Vki el tudná nekem ezt magyarázni, pl: mi az a @data, vagy ez: inlup: <-- ez a programhoz tartozik?
Asszem értitek a problémát….
Megint előre is köszönöm a segítségeteket! -
doc
nagyúr
válasz
Forest_roby #2022 üzenetére
gtk-hoz nem ertek, de wxWidgets-ben ugy mukodik, hogy az esemenytablaban letre kell hozni egy EVT_CLOSE esemenyt, es atadni neki a fuggveny cimet amit meg akarsz hivni
ha gtk-ban is van ilyesmi, akkor errefele nezelodj -
amargo
addikt
válasz
Forest_roby #2022 üzenetére
Itt nincs valami:
Application->Terminate();
vagy
Application.Exit();
Ilyesmi?
GTK-t nem ismerem, de kötve hiszem, hogy nem lehet a bezáró X-et figyelni.. valahogyan? -
Forest_roby
őstag
válasz
emitter #2021 üzenetére
void
on_quit1_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
g_message(''EXIT\n'');
gtk_exit(EXIT_SUCCESS);
}
ez működik 100%-osan! Ez a fv, a menu/kilép gomb lenyomására fut le és kilép a progiból!
nekem az kellene, hogy ha az ablakkereten lévő x -re kattintok, akkor is befejeződjön a program, mert ilyenkor bezárja az ablakot, de a program fut tovább......
remélem így már érthető a probléma! -
emitter
őstag
válasz
Forest_roby #2020 üzenetére
hogyha a főprogiból hívod a on_quit1_activate fv-t, akkor a hívása után rakj be egy
return 1;
sort, ezzel ki is lép a progiból
vagyis mégjobb, ha egy exit()-gyel lépsz ki, így ezt akár egy fv-en belül is megteheted.. mondjuk nem tudom, mennyire szép megoldás ez
tehát:
...
on_quit1_activate(...);
exit(EXIT_SUCCESS);
...
[Szerkesztve] -
Forest_roby
őstag
válasz
emitter #2019 üzenetére
nem tudom mire gondolsz....
a baj az, hogy nem tudok arra a gombra hivatkozni.
-------All!----//lenne még kérdésem//---------
ugyebár szövegszerkesztőt kell csinálni és a tanár nem tudja normálisan elmagyarázni, hogy mit-hogyan kell csinálni, viszont elvárja, hogy hipp-hopp megcsináljuk. Szóval remélem még nem unjátok a hülye kérdéseimet.
ujabb:
file megnyitás - file tartalmát be kell tölteni a textview -ba erre van egy tökéletesen működő fv, de ugy néz ki nem tudom jól meghívni....
a fv:
int load_file_to_textview(GtkWidget *parent, GtkTextView *text_view, char *filename){
....
}
és az open gomb:
void
on_open1_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkWidget *window;
GtkWidget *file_chooser;
GtkWidget *target;
GtkTextBuffer *buffer;
gchar *file_name;
gint response;
window = lookup_widget(GTK_WIDGET(menuitem), ''myeditor_window'');
target = lookup_widget(GTK_WIDGET(menuitem), ''myeditor_textview'');
buffer = gtk_text_view_get_buffer( GTK_TEXT_VIEW(target) );
file_chooser = gtk_file_chooser_dialog_new(''Open file'',
GTK_WINDOW(window),
GTK_FILE_CHOOSER_ACTION_OPEN,
GTK_STOCK_OPEN, GTK_RESPONSE_OK,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
NULL);
response = gtk_dialog_run(GTK_DIALOG(file_chooser));
if (response == GTK_RESPONSE_OK){
file_name = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(file_chooser));
load_file_to_textview(window, buffer, file_name);
}else{
gtk_widget_destroy(file_chooser);
return;
}
if (file_name != NULL)
g_free(file_name);
gtk_widget_destroy(file_chooser);
}
a ''fv''-ben definiált hibát dob ki:
A fájl nem nyitható meg olvasásra: ’/home/forest/Desktop/proba.txt’: Hibás fájl leíró
Na szóval ez lenne az amivel az elmult pár órámat töltöttem.....
Köszi az összes segítséget!
[Szerkesztve] -
emitter
őstag
válasz
Forest_roby #2018 üzenetére
nem értek az ablakozáshoz, de egy return() a főprogiban nem oldaná meg?
-
Forest_roby
őstag
tom bugyuta kérdés, de már nagyon idegesít. Hogyan lehet beállítani, hogy az ablakkereten történő bezárásra ne csak az ablakot tüntesse el, hanem ki is lépjen a programból?
ugy mint a kilépés gombra:
void
on_quit1_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
g_message(''EXIT\n'');
gtk_exit(EXIT_SUCCESS);
}
//ez spec a menüben a kilépés gomb
/ glade + c / -
Jester01
veterán
válasz
Forest_roby #2015 üzenetére
Természetesen van. Szerinted a touch-ot miben írták?
FILE* F = fopen(''/tmp/empty.txt'', ''w'');
fclose(F); -
Forest_roby
őstag
Hi!
még maradok a témánál, mert jó munkát akarok.
A file létrehozást megcsináltam a system(''touch ....'') paranccsal ( thx ph! ), de nem akarom, hogy csak linux alatt lehesen használni a progit. van vmi módszer üres file-ok létrehozására a c-ben vagy a gtk könyvtárban /én nem nagyon találtam/ ill. ha nincs akkor windowsban hogy lehet ezt megcsinálni?
előre is köszi! -
ketyosz
csendes tag
Szervusztok,
Egy nem teljesen idevágó kérdésem lenne, de hátha tudtok segíteni...
Nálunk az iskolában készítettem egy info-standot. Egy ős-Olivetti cucc, benne ''új'' számítógéppel, stb. Általános információkat jelenít meg, a suli térképét, órarendet lehet rajta nézni, korlátozottan meail-ezni és web-ezni. Innen jött az ötlet, hogy mi lenne, ha lehetne vele képet készíteni (egy webkamerával) és azt el lehetne küldeni email-ben. Ez eddig nem is nagy kunszt, simán megoldható. Igen ám, de akkor már bonyolítsunk!
Egy olyan programra lenne szükségem, ami keretet/logót/előteret tud rátenni a webkamera képére és úgy menti a kész képet. Egészen pontosan valami olyan dologra lenne szükségem, mint ami például a SE k700i/750i-k ben van benne. Kiválasztod a témát (például börtönrácsok) és amikor megnyomod az exponáló gombot úgy készül a kép, hogy börtönben vagy.
Ha esetleg nem tudtok ilyen szoftvert, de tudtok olyan webkamerát, amihez mellékelnek ilyesmit, akkor ne az is nagyon jól jönne.
Elég sok mindent megcsináltam már a géphez, nemsokára kész egy 3d-s épületbejárás, nincs már energiám nekiállni még egy ilyesminek programozni, hiszen egy ilyesmit már biztosan készített valaki.
A cél egy minél egyszerűbb rendszer lenne (elkészítek egy keretet, esetleg van már előre készítve valami, meg van egy exponálás gomb és kész...), de bármi érdekel.
Előre is köszönöm a segítséget! -
doc
nagyúr
válasz
Forest_roby #2010 üzenetére
a galde glade akar lenni? ha jól tudom, az gtk-s felülettervező, ugye?
maga a dialógus nem menti el a szöveget, nézd meg hogy a gtk-ban milyen osztályok/függvények vannak a szöveges file-ok kezeléséhez, és azzal te magad tudod kimenteni a dialógus által visszaadott nevű file-ba -
Forest_roby
őstag
Hi!
c/galde
text editor csinálunk - az elején tartunk.
ha beírok vmi szöveget és rámegyek a mentésre, akkor bejön egy szabvány mentés abalak ( előre definiált ablakok), beírom a file nevet és rákattintok a mentésre. a gomb hatására kiolvassa a filenevet, ez idáig rendben is van, de milyen parancs hatására menti is el fizikailag a winyóra a txt file-t, ami a text mezőben található?
Előre is köszi a válaszokat!
[Szerkesztve] -
amargo
addikt
Elfelejtettem írni, már aznap meg volt a megoldás.
CreatPrecess el hozom létre Ide-ig várok egy külön szállban, hogy tudjam folytatni a dolgokat és utána nyírom ki, a nyomtatás befejeződik valamikor közben.
Csak ez olyan fura megoldás.. de a netet felturva szintén csak hasonlókat találtam.. esetlek még a megnyitott prosecc handlerjének nem lehet valami exit eseményt küldeni? -
(Bundás)
addikt
Köszönöm srácok.
-
bdav
őstag
válasz
Forest_roby #2005 üzenetére
de én elképzelhetőnek tartom. c/c++ alatt mondjuk egy példa. létrehozol egy pointert valahova mint változó. oda beírsz valamit. majd átkasztolod a pointered függvénypointerré vagy objektumra mutató pointerré és meghívod a függvénypointert / objektum tagfüggvényét (függvény ptr-t sose használtam de létezik, nem tudom hogy meg lehet e csinálni egy ilyen cast - ot, de az objektumosat biztos). na a hívás után szépen az fog programutasításként értelmeződni amit előzőleg beírtál a memóriába. persze ehhez nagyon kell tudni hogy mit írsz be
(nem tudom hogy a vírusok így csinálják e). ezzel a módszerrel felülírhatod a programod normális utasítás részét is ha eltalálod a memóriacímeket.
-
Forest_roby
őstag
válasz
(Bundás) #2004 üzenetére
Érdekes kérdés. Nagyon függ a válasz a megfogalmazáson.
Ha egy program.c lefordítok és lesz egy program nevű futatható progim, akkor az a progi a program.c -t simán modosíthatja, amit a program forrásának hívunk.....
viszont saját magát nem modosíthatja......./ legalábbis nem hinném /
/.....ez az én véleményem...../ -
(Bundás)
addikt
ZH kérdés volt, valaki erősítsen meg:
''lehet-e olyan programot írni, ami módosítja saját forráskódját?'' -
amargo
addikt
Sziasztok!
Volna egy kérdésem. Pdf-et szeretnék kinyomtatni, ShellExecute (parancssorból-akár).
Ha megadom, AcroRd32.exe /p /h (/t -vel ugyan ezt csinálja asszem) [pdf file] ''nyomtatoneve'' akkor hide olva a nyomtató ablakot meg is kezdi a nyomtatást az adott nyomtatóra. Viszont a reader nyitva marad valaki tuda már bezárni parancssorból?
Köszi
amargo
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- iPhone topik
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Opel topik
- Napelem - 100%-os támogatású pályázat
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- 5:4 képarányú SXGA monitor jön ősszel az EIZO berkeiből
- Autós topik
- Kerékpárosok, bringások ide!
- exHWSW - Értünk mindenhez IS
- One otthoni szolgáltatások (TV, internet, telefon)
- További aktív témák...
- Asztali Gépeket Megszégyenítő Erő: MSI Alpha 17 C7V Gamer Laptop Eladó! (Ryzen 9 7945HX, RTX 4070)
- Kingston Fury Beast DDR5 6000 CL36 EXPO/XMP 32 GB (2x16 GB) kit
- Ryzen 7 5800X / RX 7700 XT 12GB / B550M WIFI / 16GB vagy 32GB RAM / 256GB M.2 + 1TB M.2 SSD / 750W
- asus a 320m-k alaplap ( am4 )
- Pioneer autóhifi
- NVIDIA Quadro M2000 4GB 128bit GDDR5 videokártya
- Bomba ár! Dell Latitude 7320 - i5-11GEN I 8GB I 256SSD I HDMI I 13,3" FHD I Cam I W11 I Garancia!
- ÁRCSÖKKENTÉS Menő retró konfig: Q9550, Gigabyte P43, 4GB RAM, ASUS GT730,
- Bomba ár! Fujitsu LifeBook U7310 - i5-10GEN I 16GB I 256SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!
- LG 65B4 - 65" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest