Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Psyke1

#1
Hola MCKSys:)

Aún compilado me da el mismo error...



¿Alguna idea?
Si quito el where funciona perfecto.
Esto es muy raro...  :-\

DoEvents! :P
#2
Tengo un fichero csv con la siguiente información:

NOMBRE,EDAD,FECHA
MARIO,30,24/12/2002
MARIA,90,24/12/2001
PEDRO,10,24/12/2004


Y quiero hacer una consulta de la siguiente manera:

Código (vb) [Seleccionar]
Dim oConn As New ADODB.Connection
Dim oRS As New ADODB.Recordset

oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=" & Environ("temp") & ";" _
& "Extended Properties=""text;HDR=Yes;FMT=Delimited(;)"";Persist Security Info=False"

Set oRS = oConn.Execute("select * from datos.csv")
Dim ofield As ADODB.Field

Do Until oRS.EOF
    For Each ofield In oRS.Fields
        Debug.Print "Field Name = " & ofield.Name & " Field Value = " & ofield.Value
    Next ofield
    oRS.MoveNext
Loop


Esto devuelve:
Field Name = NOMBRE Field Value = MARIO
Field Name = EDAD Field Value = 30
Field Name = FECHA Field Value = 24/12/2002
Field Name = NOMBRE Field Value = MARIA
Field Name = EDAD Field Value = 90
Field Name = FECHA Field Value = 24/12/2001
Field Name = NOMBRE Field Value = PEDRO
Field Name = EDAD Field Value = 10
Field Name = FECHA Field Value = 24/12/2004


Pero si intento hacer una consulta del tipo:
Código (sql) [Seleccionar]
select EDAD from datos.csv where NOMBRE='MARIO'

Me devuelve esto:



¿Qué se me está escapando?
Muchas gracias.

DoEvents! :P
#3
Hola chicos, a ver si alguno me puede ayudar.

Estoy tratando de dividir unas variables COBOL para cada nivel redefine usando awk.

Hay que ver la lectura: http://programacioneinformaticafacil.blogspot.com.es/2011/07/cobol-redefines.html

Me explico:


  • El primera palabra de la línea es el número que indica el nivel.
  • Todos las variables de la líneas siguientes que tengan un nivel inferior, formarán un grupo de variables.
Ejemplo:


10 HOLA.
   15 PILA PIC XX.
       20 DESBORDAMIENTO PIC X.
       20 AMIGOS PIC X.
   15 WHATSUP PIC XX.



  • La segunda palabra de la línea es el nombre del bloque de variables.
  • Un redefines funciona de la siguiente manera:
    REDEFINES NOMBRE_VAR significa que el bloque de variables de NOMBRE_VAR podría ser sustituido por el siguiente grupo de variables.

Estoy tratando de conseguir todas las posibles combinaciones de sustituciones redefines.

Basta de teoría, veamos un ejemplo, con este input:

01 SUBSCRIBERS.
   05 TYPE-OF-NAME PIC X.
   05 FILLER PIC X(100).
   05 HELLO REDEFINES FILLER.
     10 HELLO1 PIC X(50).
     10 HELLO2 PIC X(25).
     10 HELLO3 PIC X(25).
   05 STACK REDEFINES FILLER.
     10 STACK1 PIC X(90).
     10 DERE2 PIC 9(10)
        20 DELE3 REDEFINES DERE2.
            25 DELE34 PIC X(10).
   05 LOL PIC 9(9).


Devolvería estos diferentes outputs:

output 1:

01 SUBSCRIBERS.
   05 TYPE-OF-NAME PIC X.
   05 FILLER PIC X(100).
   05 LOL PIC 9(9).


output 2:

01 SUBSCRIBERS.
   05 TYPE-OF-NAME PIC X.
   05 HELLO REDEFINES FILLER.
     10 HELLO1 PIC X(50).
     10 HELLO2 PIC X(25).
     10 HELLO3 PIC X(25).
   05 LOL PIC 9(9).


output 3:

01 SUBSCRIBERS.
   05 TYPE-OF-NAME PIC X.
   05 STACK REDEFINES FILLER.
     10 STACK1 PIC X(90).
     10 DERE2 PIC 9(10)
   05 LOL PIC 9(9).


output 4:

01 SUBSCRIBERS.
   05 TYPE-OF-NAME PIC X.
   05 STACK REDEFINES FILLER.
     10 STACK1 PIC X(90).
     20 DELE3 REDEFINES DERE2.
            25 DELE34 PIC X(10).
   05 LOL PIC 9(9).



Yo lo he intentado de la siguiente manera:

Código (bash) [Seleccionar]
#!/bin/bash

awk 'BEGIN {
 i=0;
 j=0;
 ant_l=99;
} {

 campo=$4;

 if ($0 ~ /REDEFINES/) {
   lvl=$1;
   if (lvl < ant_l) {
     ant_l=lvl
   }
   if ($1 > ant_l) {
     arr[j]=arr[j-1]"\n";
   } else {
     for (x=0; x < (i-1); x++) {
       arr[j]=arr[j] arrbase[x]"\n";
     }
   }
   arr[j]=arr[j] $0"\n";
   j++;
 } else if ($1 > ant_l) {
   arr[j-1]=arr[j-1] $0"\n";
 } else {
   arrbase[i]=$0;
   ++i;
 }
}

END {
 for (x=0; x<i; x++){
   print arrbase[x]
 }
 for (x=0; x<j; x++){
   print arr[x]
 }
}' "$1"


Y este es el resultado:


01 SUBSCRIBERS.
 05 TYPE-OF-NAME PIC X.
 05 FILLER PIC X(100).
 05 LOL PIC 9(9).

01 SUBSCRIBERS.
 05 TYPE-OF-NAME PIC X.
 05 HELLO REDEFINES FILLER.
   10 HELLO1 PIC X(50).
   10 HELLO2 PIC X(25).
   10 HELLO3 PIC X(25).

01 SUBSCRIBERS.
 05 TYPE-OF-NAME PIC X.
 05 STACK REDEFINES FILLER.
   10 STACK1 PIC X(90).
   10 DERE2 PIC 9(10)

01 SUBSCRIBERS.
 05 TYPE-OF-NAME PIC X.
 05 STACK REDEFINES FILLER.
   10 STACK1 PIC X(90).
   10 DERE2 PIC 9(10)

     20 DELE3 REDEFINES DERE2.
       25 DELE34 PIC X(10).


Obviamente, el algoritmo está mal planteado, y no devuelve el resultado esperado.
¿Algún awk hacker en la sala?  :rolleyes:
O al menos alguna pista para desarrollar el algortimo.

Gracias.
DoEvents! :P
#4
Mírate esto:

http://msdn.microsoft.com/en-us/library/aa263420(v=vs.60).aspx

DoEvents! :P
#5
Estaría guay que parsearas el JSON y devolvieras un objeto con las propiedades del mismo.

DoEvents! :P
#6
Culpa mía que no leí bien el post.  :-[

DoEvents! :P
#7
¿Estás seguro de que sacas bien el handle de la ventana? ¿cómo lo sacaste?

Una vez te asegures de que es el handle, si no funciona puedes:

  • Opción sencilla: hacer repetir la instrucción de ocultar
  • Opción compleja: hookear las llamadas a las apis del programa.

Suerte. ;)

DoEvents! :P
#8
Estaría guay que pusieras comentado el código en ensamblador.

DoEvents! :P
#9
PHP / ¿Crear vistas temporales en php+mysqli ?
21 Febrero 2013, 22:02 PM
Hola a todos, planteo una duda que yo creo que es bastante simple. He buscado, pero todavía no he encontrado una solución.

Tengo un sistema de usuarios en el cual se repite mucho una subconsulta, la cual varía según una opción que elige.
Quería saber si hay alguna forma de guardar el resultado para no tener que perder tiempo y repetir código.

Estuve buscando información y las vistas hacen lo que necesito. El problema es que son generales puesto que afectan a toda mi base de datos y quedan guardadas, así que después las tendría que borrar. :'(

Busco la manera de hacer algo así como una vista temporal individual para cada usuario.

Espero haberme explicado bien.
Gracias.
#10
Hola chicos, gracias por responder.
Resulta que repasando el esquema que tengo me di cuenta de que lo que necesito es otra cosa diferente.  ;-) :¬¬

Dados dos valores v1 y v2:
Sacar la fila anterior más pequeña y posterior más grande, y todas las filas que tengan el rango entre v1 y v2.

No parece muy difícil.  :)
Esta vez, creo que me expliqué bien y todo.  :rolleyes:

DoEvents! :P