hmpaquito wrote:Yo tampoco sé programar a nivel avanzado.
Creo que para programar a nivel avanzado hace falta conocer tecnicas de programación, como comentaba Víctor Casajuana en otro mensaje.
Lo que sí sé es que antes de lanzarse a hacer un programa hay que coger una parcela de terreno grande y no usar USE, sino un ORM (btw Eric está en uno), no usar funciones particulares, sino tener una biblioteca de funciones compartida entre proyectos, en las funciones no devolver un resultado, sino un objeto o un array, que permitirá devolver más cosas cuando se necesiten, no usar un parámetro al llamar a una funcion, sino un objeto... Y asi, otras cosas
Harbour es un lenguaje, al menos me lo parece, muy maduro y con muchas posibilidades. El curso de C nos puede ayudar mucho a conocer Harbour.
Harbour y Lenguaje C.
1. Prólogo y propósito del curso.
2. Herramientas necesarias para el curso.
3. Un poco de C
4. Operadores.
5. Estructuras de control.
6. Tipos de datos elementales de C
7. Tablas en C. Vectores, matrices y tablas multidimensionales.
8. Tipos de datos estructurados: estructura, uniones y enumeraciones.
9. Creando nuestros propios tipos: uso de typedef.
10. Los punteros de C.
11. Reserva y liberación de memoria dinámica.
12. Algunos conceptos básicos sobre la Máquina virtual (VM), pila (stack) y Tabla de símbolos (symbol table) de Harbour.
13. Sistema extendido y el Item API.
14. Cómo compilar código C en nuestros PRG
15. Crear funciones en C que se pueden utilizar desde PRG.
16. Paso de parámetros de todos los tipos C, M, N, L, A, H
17. Retorno de variables de tipo C, M, N, L, A, H
18. Paso de variables por referencia C, M, N, L, A, H
19. Manipulación de variables dentro de la función en C.
20. Manipulación de arrays de entrada y salida: Vectores y arrays multidimensionales
21. Manipulación de tablas hash
22. Manipulación de estructuras, uso de funciones puente.
23. Uso de funciones librerías externas.
24. El mundo al revés: Llamada desde C a funciones de Harbour?
25. Pon una DLL en tu vida: “Wrappear” funciones de una librería dinámica.
26. Creando nuestras propias librerías.
if a > 10
lRet := .t.
else
lRet := .f.
endif
lRet := if( a > 10, .t., .f. )
lRet := ( a > 10 )
for i := 1 to len( a )
...
next
nLen := len( a )
for i := 1 to nLen
...
next
xmanuel wrote:
- Code: Select all Expand view RUN
lRet := ( a > 10 )
lRet := a > 10
xmanuel wrote:
- Code: Select all Expand view RUN
nLen := len( a )
for i := 1 to nLen
...
next
local aNums := { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
local nSum := 0
hb_ForNext( 1, Len( aNums ), { | i | nSum += aNums[ i ] } )
? nSum
local aNums := { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
local nSum := 0
hb_ForNext( 1, Len( aNums ), < | i |
nSum += aNums[ i ]
Return nSum
> )
? nSum
local aNums := { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
local nSum := 0
local nLen := Len( aNums )
hb_ForNext( 1, nLen, { | i | nSum += aNums[ i ] } )
? nSum
local aNums := { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
local nSum := 0
local nLen := Len( aNums )
hb_ForNext( 1, nLen, < | i |
nSum += aNums[ i ]
Return nSum // Seguramente esta linea sobra ya que nSun es una variable local de la función
> )
? nSum
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: No registered users and 46 guests