Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Mentenanta Acoperis

Cheder deteriorat , zgariat, cum ...

Laptop HP 15-AF001NQ, AMD E1-6015...

Blat de bucatarie lungime 4,60 m
 Termostat incalzire si racire

Configurare retea cu modem Vodafo...

Curtea Penala Internationala soli...

Sunt obligate bancile sa opteze p...
 Pensie anticipata partiala cu cer...

Subscriptii

Cat ar costa acest poster, se poa...

Cum sa scapam de sobolani?
 Alser Forest SA a dat teapa de 1,...

COD Eroare ABS ( Ford Mondeo MK5 )

Implanturi dentare clinici Consta...

Viata cu butelie versus retea de ...
 

Library: ALLEGRO.h

- - - - -
  • Please log in to reply
19 replies to this topic

#1
Purice`

Purice`

    Active Member

  • Grup: Members
  • Posts: 1,020
  • Înscris: 21.08.2005
Am cautat biblioteca allegro f mult(am inteles ca e speciala pentru jocuri) dar totusi nu o gasesc, am cautat pe yahoo si google ,am gasit ceva dar nu cred ca am gasit ce trebuie   ...
Si a 2-a intrebare este cum o "instalez" in VC++?  
http://www.allegro.com :un link dintre multe alte link-uri ...dar totusi nu ma descurc.
:notangel: .
Multumesc anticipat .

#2
sapho

sapho

    Active Member

  • Grup: Members
  • Posts: 1,578
  • Înscris: 22.09.2002
cred ca nu stii sa cauti cu google: http://www.talula.demon.co.uk/allegro/ , http://www.google.co...c &btnG=Search

#3
Purice`

Purice`

    Active Member

  • Grup: Members
  • Posts: 1,020
  • Înscris: 21.08.2005
Nu e vorba ca nu stiu sa caut cu google , dar nu gasisem cum sa "instalez" library ...  ;)  B)

#4
Purice`

Purice`

    Active Member

  • Grup: Members
  • Posts: 1,020
  • Înscris: 21.08.2005
Cum instalez acesta biblioteca?  Am pus README-ul - nu e vorba ca nu inteleg cuvintele in engleza ci cum le inlocuiesc chestiile alea pe acolo ... am download-at de pe site http://alleg.sourceforge.net/wip.html  all420.zip.... multumesc

Attached Files



#5
Purice`

Purice`

    Active Member

  • Grup: Members
  • Posts: 1,020
  • Înscris: 21.08.2005
Va rog... am nevoie de acesta librarie !!! copiez allegro.h in VC/include/?? cum fac????
Stiu ca va enervez dar chiar nu am idee .!!!!

#6
hErr

hErr

    Member

  • Grup: Members
  • Posts: 738
  • Înscris: 16.12.2003
libraria aia trebuie sa o construiesti singur porinind de la surse.
citeste si tu acel readme.txt.

pe scurt: exista un make file pt visual studio. modifici variabila de mediu ca sa includa calea catre nmake.exe, care se afla in directorul ..\Program Files\Microsoft Visual Studio\VC6\Bin. fisierul VCVARS32.BAT din acelasi director face asta pt tine.

dupa ce variabila path e setata, executi nmake cu parametru numele fisierului make. dupa ce obtii lib-urile, in proiectul tau incluzi fisierele header, iar la linkeditare incluzi liburile.

#7
Purice`

Purice`

    Active Member

  • Grup: Members
  • Posts: 1,020
  • Înscris: 21.08.2005
uite aici o eroare cand compilez un simplu cod si imi da eroarea
--------------------Configuration: ex3d - Win32 Debug--------------------
Compiling...
ex3d.c
c:\program files\microsoft visual studio\vc98\include\allegro\internal\alconfig.h(64) : fatal error C1083: Cannot open include file: 'allegro/platform/astdint.h': No such file or directory
Error executing cl.exe.

ex3d.exe - 1 error(s), 0 warning(s)


this is the error ... 
I compile ex3d.c to the exemple 

why? I install 4.2.0 version


#8
hErr

hErr

    Member

  • Grup: Members
  • Posts: 738
  • Înscris: 16.12.2003
dupa cite vad ai facut o gresala, introducind fisierele in directorul standard unde e instalat Visual C++. acest lucru il poti evita foarte usor, in doua moduri: ori specifici o cale globala in Tools -> Options -> Directories ori Project settings -> C/C++ -> Category: Preprocessor -> Additional Include Directories.

atentie si la caile relative din directivele #include. dupa mesajul de eroare directorul de include trebuie sa fie parintele folderului "allegro".

asigura-te si ca acel fisier (alconfig.h) exista intr-adevar.

daca sistemul nu e setat cum trebuie, s-ar putea sa ai erori si la link-editare.

nu inteleg de ce nu ai incercat cum ti-am spus, cu makefile. rezolvai totul in consola si nici nu trebuia sa deschizi visual c++.

Edited by hErr, 18 March 2006 - 01:35.


#9
Purice`

Purice`

    Active Member

  • Grup: Members
  • Posts: 1,020
  • Înscris: 21.08.2005

Quote

libraria aia trebuie sa o construiesti singur porinind de la surse.
citeste si tu acel readme.txt.

pe scurt: exista un make file pt visual studio. modifici variabila de mediu ca sa includa calea catre nmake.exe, care se afla in directorul ..\Program Files\Microsoft Visual Studio\VC6\Bin. fisierul VCVARS32.BAT din acelasi director face asta pt tine.

dupa ce variabila path e setata, executi nmake cu parametru numele fisierului make. dupa ce obtii lib-urile, in proiectul tau incluzi fisierele header, iar la linkeditare incluzi liburile.


cum modific variabila de mediu ?
am facut cum zicea pe site-ul oficial

http://www.allegro.c...stall-msvc.html Method B

poate imi explicati si mie ca la ....noobi

u chiar nu reusesc sa fac cqa aceaesta lib sa functioneze....
"oi fi tandala"

Edited by Purice`, 18 March 2006 - 15:22.


#10
hErr

hErr

    Member

  • Grup: Members
  • Posts: 738
  • Înscris: 16.12.2003
ai scapat de o mare belea. nu mai trebuie sa compilezi tu sursele.
in varianta B librariile sint deja compilate si nu mai trebuie sa faci nimic.

fi atent cum trebuie sa fac, concret si la obiect.

1. download.
urmezi linkul tau si downloadezi din categoria Binary -> Microsoft Visual C++ 6 - zip, 7z, exe. fisierul se numeste allegro-msvc6-4.2.0.zip si il dezarhivezi intr-un folder, de exemplu: c:\allegro. dupa dezarhivare vei avea 3 subdirectoare: bin, include si lib.

2. setarea cailor pt compilare.
deschizi proiectul tau in Visual C++ si te duci in Project Settings -> Project settings -> C/C++ -> Category: Preprocessor -> Additional Include Directories. aici introduci: c:\allegro\include.

3. setarea cailor si librariilor pt linkeditare.
te duci in Project Settings -> Link -> Category: Input. in cimpul Object/library modules adaugi libraria de care ai nevoie. care librarie trebuie adaugata din cele fisiere? asta trebuie sa decizi tu. librariile cu _s sint varianta statica, adica varianta care ruleaza fara dll. apoi, alld.lib este versiunea de debug, alleg.lib este versiunea optimizata (release), iar allp.lib este versiunea cu profiling enabled. daca nu sti ce inseamna toate astea, alege pt inceput alld.lib pe care o treci in in cimpul Object/library modules.

In cimpul Additional library path mai trebuie sa adaugi: C:\allegro\lib


asta e tot. daca faci totul cum ti-am spus, n-ar trebui sa mai ai erori. daca mai intimpini greutati, revino cu mesajele de eroare.

#11
Purice`

Purice`

    Active Member

  • Grup: Members
  • Posts: 1,020
  • Înscris: 21.08.2005
In primul rand iti multumesc ca ma ajuti!


inainte de ce mi-ai zis tu ...
c:\documents and settings\purice\desktop\exhello.c(7) : fatal error C1083: Cannot open include file: 'allegro.h': No such file or directory
(mi se pare normal)

dupa ce mi-ai zis
Compiling...
exhello.c
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/exhello.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

exhello.exe - 2 error(s), 0 warning(s)


plus de asta dupa ce ies din proiect imi dispare ce am scris la preproceser..link..etc...

daca mai compilez o data ....(dupa ce mi-au disparut alea)
--------------------Configuration: exhello - Win32 Debug--------------------
Linking...
exhello.obj : error LNK2001: unresolved external symbol __imp__readkey
exhello.obj : error LNK2001: unresolved external symbol __imp__release_screen
exhello.obj : error LNK2001: unresolved external symbol __imp__textout_centre_ex
exhello.obj : error LNK2001: unresolved external symbol __imp__font
exhello.obj : error LNK2001: unresolved external symbol __imp__gfx_driver
exhello.obj : error LNK2001: unresolved external symbol __imp__acquire_screen
exhello.obj : error LNK2001: unresolved external symbol __imp__clear_to_color
exhello.obj : error LNK2001: unresolved external symbol __imp__screen
exhello.obj : error LNK2001: unresolved external symbol __imp__makecol
exhello.obj : error LNK2001: unresolved external symbol __imp__set_palette
exhello.obj : error LNK2001: unresolved external symbol __imp__desktop_palette
exhello.obj : error LNK2001: unresolved external symbol __imp__allegro_message
exhello.obj : error LNK2001: unresolved external symbol __imp__allegro_error
exhello.obj : error LNK2001: unresolved external symbol __imp__set_gfx_mode
exhello.obj : error LNK2001: unresolved external symbol __imp__install_keyboard
exhello.obj : error LNK2001: unresolved external symbol __imp__install_allegro
exhello.obj : error LNK2001: unresolved external symbol __imp___WinMain
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/exhello.exe : fatal error LNK1120: 18 unresolved externals
Error executing link.exe.

exhello.exe - 19 error(s), 0 warning(s)

Vreo idee?
Uite codul!!!
/*
*    Example program for the Allegro library, by Shawn Hargreaves.
*
*    This is a very simple program showing how to get into graphics
*    mode and draw text onto the screen.
*/
#include <allegro.h>



int main(void)
{
   /* you should always do this at the start of Allegro programs */
   if (allegro_init() != 0)
	  return 1;

   /* set up the keyboard handler */
   install_keyboard(); 

   /* set a graphics mode sized 320x200 */
   if (set_gfx_mode(GFX_AUTODETECT, 320, 200, 0, 0) != 0) {
	  if (set_gfx_mode(GFX_SAFE, 320, 200, 0, 0) != 0) {
	 set_gfx_mode(GFX_TEXT, 0, 0, 0, 0);
	 allegro_message("Unable to set any graphic mode\n%s\n", allegro_error);
	 return 1;
	  }
   }

   /* set the color palette */
   set_palette(desktop_palette);

   /* clear the screen to white */
   clear_to_color(screen, makecol(255, 255, 255));

   /* you don't need to do this, but on some platforms (eg. Windows) things
	* will be drawn more quickly if you always acquire the screen before
	* trying to draw onto it.
	*/
   acquire_screen();

   /* write some text to the screen with black letters and transparent background */
   textout_centre_ex(screen, font, "Hello, world!", SCREEN_W/2, SCREEN_H/2, makecol(0,0,0), -1);

   /* you must always release bitmaps before calling any input functions */
   release_screen();

   /* wait for a keypress */
   readkey();

   return 0;
}

END_OF_MAIN()


#12
hErr

hErr

    Member

  • Grup: Members
  • Posts: 738
  • Înscris: 16.12.2003
vezi ca n-au cum sa-ti dispara setarile, decit daca nu salvezi proiectul.

prima eroare: LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main

te duci in Project Settings -> Link -> Project Options. acolo dai scroll pina intilnesti o optiune /subsistem:console pe care o schimbi in /subsystem:windows dupa care ar trebui sa-ti mearga.

daca iti continuare persista eroarea cu simbolul _main atunci creeaza un nou proiect Win32 Console si adauga acolo codul.

in legatura cu celelalte erori, poate n-ai setat corect caile in tabul Link, cum ti-am zis in postul anterior. daca nu merge incearca si cu libraria alld_s.lib.

daca tot nu merge, fa-i un zip cu tot workspace-ul si punel-l aici sa-l deschid si sa vad care sint problemele.

Edited by hErr, 22 March 2006 - 14:07.


#13
Purice`

Purice`

    Active Member

  • Grup: Members
  • Posts: 1,020
  • Înscris: 21.08.2005
merge....
am facut un project win32aplication  si imi merge...
acum nu imi mai ramane dacat sa incep sa citesc tutoriale
bafta ... si inca o data multam ! :)

#14
Purice`

Purice`

    Active Member

  • Grup: Members
  • Posts: 1,020
  • Înscris: 21.08.2005
salut
Am inca o problema.AM pus codul n fisier ...
problema e ca atunci cand il rulez imi iese imediat din program
si imi da

Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\kernel32.dll', no matching symbolic information found.
Loaded 'D:\Eu\g\Debug\alld42.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\user32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\gdi32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\advapi32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\rpcrt4.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\ole32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\dinput.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\msvcrt.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\winmm.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\ddraw.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\dciman32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\dsound.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\version.dll', no matching symbolic information found.
Loaded symbols for 'C:\WINDOWS\system32\MSVCRTD.DLL'
Loaded symbols for 'C:\WINDOWS\system32\Syncor11.dll'
Loaded 'C:\WINDOWS\system32\uxtheme.dll', no matching symbolic information found.
al-main INFO: Allegro initialised (instance 1)
The thread 0x720 has exited with code 0 (0x0).
The thread 0x570 has exited with code -1 (0xFFFFFFFF).
The program 'D:\Eu\g\Debug\g.exe' has exited with code -1 (0xFFFFFFFF).


de ce imi apar astea?(eu aceste dll-uri in calculator)


salut
Am inca o problema.AM pus codul n fisier ...
problema e ca atunci cand il rulez imi iese imediat din program
si imi da

Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\kernel32.dll', no matching symbolic information found.
Loaded 'D:\Eu\g\Debug\alld42.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\user32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\gdi32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\advapi32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\rpcrt4.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\ole32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\dinput.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\msvcrt.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\winmm.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\ddraw.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\dciman32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\dsound.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\version.dll', no matching symbolic information found.
Loaded symbols for 'C:\WINDOWS\system32\MSVCRTD.DLL'
Loaded symbols for 'C:\WINDOWS\system32\Syncor11.dll'
Loaded 'C:\WINDOWS\system32\uxtheme.dll', no matching symbolic information found.
al-main INFO: Allegro initialised (instance 1)
The thread 0x720 has exited with code 0 (0x0).
The thread 0x570 has exited with code -1 (0xFFFFFFFF).
The program 'D:\Eu\g\Debug\g.exe' has exited with code -1 (0xFFFFFFFF).


de ce imi apar astea?(eu aceste dll-uri in calculator)

#15
hErr

hErr

    Member

  • Grup: Members
  • Posts: 738
  • Înscris: 16.12.2003
acesta este un acces ilegal la memorie cauzat de o gresala de programare.

trebuie sa rulezi in programul in debug mode, pas cu pas, pina identifici linia care da aceasta eroare. pt aceasta porneste programul cu F10. pt a urmari apelul functiilor in interiorul lor, folosesti F11. cu ocazia asta inveti comenzile debuggerului: Step Over, Step In, Step Out, Run to Cursor.

mesajele legate de dll-urile alea, ignora-le.

#16
Purice`

Purice`

    Active Member

  • Grup: Members
  • Posts: 1,020
  • Înscris: 21.08.2005
#include <stdio.h>
#include <stdlib.h>
#include <allegro.h>


#define NUM_TILES 10		// number of tiles in the datafile
#define TILE_SIZE 32		// tile size
#define MAP_SIZE 14			// size of the map

DATAFILE *datTiles;			// tiles graphics
unsigned char map[MAP_SIZE][MAP_SIZE];	// map data
int currentTile;			// current tile used to draw

/********************************************************************************
**
 *  Just zero out all the entries in 2D array which holds map values
 *	Call this function to create new map
 */
void newMap(void)
{
	int i, j;
	for (i=0; i<MAP_SIZE; i++)
		for (j=0; j<MAP_SIZE; j++)
			map[i][j] = 0;
}

/********************************************************************************
**
 * saves a map to file named: filename
 */
void saveMap(char* filename)
{
	FILE *file;

	// open the file in write binary mode
	file = fopen(filename, "wb");
	if (!file)
		return;

	// write the map data
	fwrite(map, sizeof(unsigned char), MAP_SIZE*MAP_SIZE, file);

	// never forget to close the file
	fclose(file);
}

/********************************************************************************
**
 * load a map from file: filename
 *
 */
void loadMap(char* filename)
{
	FILE *file;

	// open file in read binary mode
	file = fopen(filename, "rb");
	if (!file)
		return;

	// read map data
	fread(map, sizeof(unsigned char), MAP_SIZE*MAP_SIZE, file);
	fclose(file);

}

/********************************************************************************
**
 * Draw a map to the screen
 * using map 2D array
 *
 */
void drawMap(void)
{
	int i, j;	// loop counters
	int tile;	

	// hide the mouse
	show_mouse(NULL);

	// iterate through map data
	for (i=0; i<MAP_SIZE; i++) {
		for (j=0; j<MAP_SIZE; j++) {
			tile = map[i][j];
			// if tile is there draw it
			if (tile > 0)
				draw_sprite(screen, (BITMAP*)datTiles[tile].dat, i*TILE_SIZE, j*TILE_SIZE);
			// else just draw black rectangle
			else
				rectfill(screen, i*TILE_SIZE, j*TILE_SIZE, i*TILE_SIZE+TILE_SIZE, j*TILE_SIZE+TILE_SIZE, 0); 
		}
	}

	// show mouse again
	show_mouse(screen);
}

/********************************************************************************
**
 * if map area was clicked put tile there
 * using currentTile 
 *
 */
void mapClicked(void)
{
	int tile;	// tile to be drawn
	int tileX;	// tile in x direction to draw onto
	int tileY;	// tile in y direction to draw onto

	// if no mouse button pressed exit function
	if (!mouse_b)
		return;

	// if mouse was clicked outside the map area exit function
	if (mouse_x >= TILE_SIZE*MAP_SIZE || mouse_y >= TILE_SIZE*MAP_SIZE)
		return;

	// if left button pressed draw the tile
	if (mouse_b & 1)
		tile = currentTile;

	// else erase tiles
	else 
		tile = 0;


	tileX = mouse_x  / TILE_SIZE;	// x tile clicked
	tileY = mouse_y  / TILE_SIZE;	// y tile clicked

	map[tileX][tileY] = tile;	// assign the value of the map to tile

	// and redraw the map
	drawMap();

}

/********************************************************************************
**
 * initialize editor. Load datafile with tiles and create new map
 *
 */
void initEditor(void) 
{
	currentTile = 1;	// we start with tile #1 being drawn

	// now load the datafile
	datTiles = load_datafile("eddat.dat");

	// if can't load datafile, give error message
	if (!datTiles) {
		printf("Error loading eddat.dat\n");
		exit(-1);
	}	

	newMap();	// create a new map
}

/********************************************************************************
**
 * Start message loop which checks
 * for keypresses that control editor and mouse clicked for drawing
 *
 */
void startEditor(void)
{
	// draw initial map
	drawMap();

   while (1) {
		mapClicked();	// check if map was clicked

		// keys 1 to 0 change the currently used tile
		if (key[KEY_1]) currentTile = 1;
		else if (key[KEY_2]) currentTile = 2;
		else if (key[KEY_3]) currentTile = 3;
		else if (key[KEY_4]) currentTile = 4;
		else if (key[KEY_5]) currentTile = 5;
		else if (key[KEY_6]) currentTile = 6;
		else if (key[KEY_7]) currentTile = 7;
		else if (key[KEY_8]) currentTile = 8;		
		else if (key[KEY_9]) currentTile = 9;
		else if (key[KEY_0]) currentTile = 10;

		// F1 pressed new map
		else if (key[KEY_F1]) {
			newMap();
			drawMap();
		}

		// F2 pressed save map
		else if (key[KEY_F2]) {
			saveMap("map1.map");
			drawMap();
		}
		// F3 pressed load map
		else if (key[KEY_F3]) {
			loadMap("map1.map");
			drawMap();
		}
		// ESC pressed exit program
		else if (key[KEY_ESC])
			break;
	}
}

/********************************************************************************
**/
int main(int argc, char** argv)
{
	allegro_init();

	// initialize editor
	initEditor();

	// we are going to use 640x480 graphics mode
	set_gfx_mode(GFX_AUTODETECT, 640, 480, 0, 0);

	// install timer, mouse and keyboard
	install_timer();
	install_mouse();
	install_keyboard();

	// clear the screen to background color
	clear(screen);

	// make sure 0th entry in datafile is pallete
	set_pallete((RGB*)datTiles[0].dat);

	// display the mouse
	show_mouse(screen);

	// start processing events
	startEditor();

	exit(0);	// succesfully exit
}
END_OF_MAIN()

uite codul... o sa incerc sa fac ce mi-ai zis ....
bafta ....
mai intreb daca nu reusesc !

#17
hErr

hErr

    Member

  • Grup: Members
  • Posts: 738
  • Înscris: 16.12.2003
purice, urasc sa fac debug pe codul altora. doar nu crezi ca eu sau altcineva o sa-ti faca debug la codul asta. mai ales ca trebuie instalate headere, librarii, etc, etc, ... cunosti toata povestea.

mai pune si tu osul la treaba.

Edited by hErr, 27 March 2006 - 23:41.


#18
Purice`

Purice`

    Active Member

  • Grup: Members
  • Posts: 1,020
  • Înscris: 21.08.2005
salut.... ai inteles gresit....eu de asta am pus codul...
normal ca incerc sa fal eu sa mearga...
NU am inteles partea cu rulatul pas cu pas (cum adica ?)
mie am dat pe butoanele alea de acolo( prima data cand fac asta) si imi arata la   "END_OF_MAIN()" o nepotrivire nici nu stiu ce era aia...
Daca esti bun sa-mi zici chestia aia rulatul pas cu pas ...
numai bine

Anunturi

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

www.neurohope.ro

1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate