omoreno 05-04-2025, 17:30
Se tiene la siguiente consulta:

Código:
$Res = $con.Exec("SELECT campo1, campo2, 'ABC' AS 'Dato' FROM xyz")

Con la nueva versión del componte gb.gb2 me he encontrado con estos resultados en su colección Fields:

Fields en SQLite: campo1, campo2, Dato
Fields en  MariaDB: xyz.campo1, xyz.campo2, .Dato

Luego si quería los datos del result con el código:

C1 = $Res[“campo1”]
C2 = $Res[“campo2”]
Dabc = $Res[“Dato”]

En sqlite, todo bien pero en las base de datos relacionales…. ERROR!!!
Todas mis consultas que tuvieran un campo calculado o “martillado” generaban error por que sistema decía que no existen esas columnas…
Pues para las relacionales tuve que colocar el punto

Dabc = $Res[“.Dato”]

¿Esto es  un Bug o la nueva forma de acceder a los campos de las tablas en base de datos relacionales con el nuevo componente gb.db2?

Gracias por sus posibles respuestas.
Shell 03-04-2025, 10:44
Buenas!.

A ver como sale ahora. Pues decía que deberíamos tenerlo en español.

Atajos de Teclado para el Editor de Gambas

TeclaAcción
ARRIBAMover el cursor una línea arriba.¹ El texto se deselecciona.
CTRL + ARRIBAMover el cursor un procedimiento arriba.¹ El texto se deselecciona.
ALT + ARRIBAIntercambiar la línea actual con la anterior y mover el cursor una línea arriba. Si el texto está seleccionado, mover la selección una línea arriba.
ABAJOMover el cursor una línea abajo.¹ El texto se deselecciona.
CTRL + ABAJOMover el cursor un procedimiento abajo.¹ El texto se deselecciona.
ALT + ABAJOIntercambiar la línea actual con la siguiente y mover el cursor una línea abajo. Si el texto está seleccionado, mover la selección una línea abajo.
IZQUIERDAMover el cursor un carácter a la izquierda.¹ El texto se deselecciona.
CTRL + IZQUIERDAMover el cursor una palabra a la izquierda.¹ El texto se deselecciona.
DERECHAMover el cursor un carácter a la derecha.¹ El texto se deselecciona.
CTRL + DERECHAMover el cursor una palabra a la derecha.¹ El texto se deselecciona.
INICIOMover el cursor al inicio de la línea, teniendo en cuenta la indentación.¹ El texto se deselecciona.
CTRL + INICIOMover el cursor al inicio del archivo. El texto se deselecciona.
ALT + INICIOMover el cursor a la primera línea anterior no vacía con el mismo nivel de indentación.¹ El texto se deselecciona.
FINMover el cursor al final de la línea.¹ El texto se deselecciona.
CTRL + FINMover el cursor al final del archivo. El texto se deselecciona.
ALT + FINMover el cursor a la primera línea siguiente no vacía con el mismo nivel de indentación.¹ El texto se deselecciona.
ENTER o RETURNInsertar una nueva línea, con posible inserción automática.² El texto seleccionado se elimina.
CTRL + ENTERColapsar o expandir la parte de texto actual entre dos límites.
CTRL + ALT + ENTERColapsar o expandir todos los límites.
BACKSPACEEliminar un carácter a la izquierda y mover el cursor en consecuencia. El texto seleccionado se elimina.
CTRL + BACKSPACEEliminar una palabra a la izquierda y mover el cursor en consecuencia. El texto seleccionado se elimina.
SUPRIMIREliminar un carácter a la derecha sin mover el cursor. El texto seleccionado se elimina.
SHIFT + SUPRIMIREliminar la línea actual.
CTRL + SUPRIMIREliminar una palabra a la derecha sin mover el cursor. El texto seleccionado se elimina.
AV PÁGMover el cursor una página arriba.¹ El texto se deselecciona.
CTRL + AV PÁGCambiar al archivo editado anterior.
RE PÁGMover el cursor una página abajo.¹ El texto se deselecciona.
CTRL + RE PÁGCambiar al siguiente archivo editado.
TABInsertar un carácter de tabulación si no hay texto seleccionado. De lo contrario, el texto seleccionado se indenta.³
SHIFT + TABDesindentar el texto seleccionado. No hace nada si no hay texto seleccionado.
INSERTAlternar el modo de inserción / selección de bloque del editor.
CTRL + ASeleccionar todo el texto.
CTRL + CCopiar el texto seleccionado al portapapeles.
CTRL + XEliminar el texto seleccionado y copiarlo al portapapeles.
CTRL + VPegar el contenido del portapapeles. El texto seleccionado se reemplaza.
CTRL + ZDeshacer el último cambio.
CTRL + YRehacer el último cambio deshecho.
F2Buscar la definición de un símbolo.
SHIFT + F2Volver a la posición anterior registrada del cursor.
F3Buscar la siguiente ocurrencia.
SHIFT + F3Buscar la ocurrencia anterior.
F12Alternar entre el editor de formularios y el editor de código.

Referencias:
¹ Mantener presionada la tecla SHIFT para seleccionar texto mientras se mueve el cursor. 
² En algunos casos, ocurre una inserción automática de código (por ejemplo, al final de una declaración de propiedad). Mantener presionada la tecla SHIFT deshabilita esto. 
³ Si la tecla TAB se presiona al final de una línea que solo contiene un snippet del IDE, entonces el atajo se expande. 

Pues parece que si esta vez.

¿ Deberíamos tenerlo en un pdf ?.



Hay algo que a veces es muy puñetero. Estás buscando la definición de una variable, una función y luego quieres volver al punto
anterior. Pues eso se hace con SHIFT-F2.

Saludos
Shordi 31-03-2025, 19:18
Varias veces se ha tocado el tema a lo largo del tiempo de cómo adaptar el alto de las celdas de un Gridview a su contenido. Se han aportado varias soluciones y yo aporté en su día la mía, basada en la capacidad de hacer ese cálculo, pero para un Richtext, de la clase Font.

Sin embargo me he encontrado con que ninguna de esas soluciones me valía, bien por no trabajar con richtexts, bien por no ser demasiado fiables, así que he desarrollado otra basada en Text.
El código es una funcioncita llamada desde el evento Data del Gridview/TableView y es este:

Código:
Public Sub tv_Data(Row As Integer, Column As Integer)

  'rellenamos las celdas con el contenido de los campos.
  $res.MoveTo(row)
  If $cfields[tv.columns[column].title] = Gb.Boolean Then 'los campos booleanos según el picture de la celda
    If $res[tv.columns[column].title] = True Then
      tv[row, Column].Picture = Stock["24/ok"]
    Else
      tv[row, Column].Picture = Null
    Endif
  Else
    tv[row, column].Text = $res[tv.columns[column].title]  'Se guarda el texto en Text
    If $completos Then
      calcHeight(row, column) 'Se cambia el alto de la fila si es necesario.
    Endif
  Endif

End

Private Sub calcHeight(row As Integer, column As Integer)

  Dim nAlto, nAncho, anchoLinea As Integer
  Dim alineas, alinea As String[]
  Dim linea As String

  nAncho = tv.columns[column].W
  alineas = Split(tv[row, column].text, "\n")
  nAlto = alineas.Length
  For Each linea In alineas
    anchoLinea = tv[row, column].Font.TextWidth(linea)
    If ancholinea > nAncho Then
      If InStr(linea, " ") > 0 Then
        nAlto += Int(ancholinea / nancho)
      Endif
    Endif
  Next
  If nAlto > 1 Then
    tv.Rows[row].H = (nAlto * tv.Font.h) + tv.Rows.h
    tv[row, column].WordWrap = True
  Endif

End
Extraído del proyecto asociado a éste Video:


Espero que os sea útil.

Saludos
Páginas (560):    1 18 19 20 21 22 560   
Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.
Recordarme?
Miembros: 288
Último miembro: shoUsho
Temas del foro: 1,728
Mensajes del foro: 8,984
Últimos temas
Paren...WAIT !!!
Foro: Aplicaciones/Fragmentos de Código
Último mensaje por: guizans, 25-08-2025, 14:49
Respuestas: 3 - Vistas: 224
GambOS
Foro: General
Último mensaje por: guizans, 20-08-2025, 13:58
Respuestas: 0 - Vistas: 143
Gambas y Wayland
Foro: General
Último mensaje por: guizans, 20-08-2025, 13:56
Respuestas: 6 - Vistas: 320
Odio a gb.Report
Foro: General
Último mensaje por: guizans, 19-08-2025, 10:40
Respuestas: 8 - Vistas: 657
Devorado por la malvada s...
Foro: Python
Último mensaje por: tercoide, 12-08-2025, 23:58
Respuestas: 6 - Vistas: 439
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.