Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > HTML, Javascript y otros
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-11-2017
Avatar de German
German German is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 133
Poder: 22
German Va por buen camino
Puedes utilizar el componente SmartFlash de Almdev para tener el archivo Flash embebido en el EXE. Dispone de un método "CallFunction" para poder utilizar una función que incluya el archivo flash desde delphi, o "SetVariable" que cambia variables del archivo Flash desde Delpi también.

Además la interfaz respeta la transparencia del archivo Flash, como en el programa de ejemplo que puse:



Salu2.
__________________
Tengo las manos llenas de dedos... Tengo los dedos llenos de teclas...
Tengo las teclas desordenadas... Tengo el desorden muy controlado...
Tengo el control en mis manos.
Responder Con Cita
  #2  
Antiguo 09-11-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
Hola, Germán.
He descargado SmartFlash de prueba.
Tiene 5 componentes, que soportan solamente Windows, no Android, ni FMX.
Aún así no he conseguido encontrar, en ninguno de los componentes, las funciones que indicas.
No me resuelve nada si sólo funciona en Windows.
Agradezco infinito tu esfuerzo.
Saludos.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Responder Con Cita
  #3  
Antiguo 10-11-2017
Avatar de German
German German is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 133
Poder: 22
German Va por buen camino
Lo siento, no he leído en ninguno de los mensajes que lo necesitaras para Android o FMX, supuse que era para Windows. En cuanto a las funciones que comenté, básicamente se utilizan 3 componentes... tsfFlashList que contiene el/los archivos Flash embebidos, tsfLayeredFlashForm para convertir el Form y respetar las transparencias del archivo Flash, y tsfFlashPlayer que es el que muestra el archivo Flash y es el que contiene las funciones para comunicarte con Flash. La idea en principio seria utilizar la interfaz y funciones ya creadas (en vez de tener que trasladarlo) y mostrar el resultado en un EXE de Delphi, aunque ya no se si era eso lo que buscabas.
__________________
Tengo las manos llenas de dedos... Tengo los dedos llenos de teclas...
Tengo las teclas desordenadas... Tengo el desorden muy controlado...
Tengo el control en mis manos.
Responder Con Cita
  #4  
Antiguo 10-11-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
Hola Germán.
Toda la razón. Nunca dije que lo intentaba usar multiplataforma. Lo siento.
Mi primera intención era traducir la función a Delphi para usarla en cualquier plataforma.
Estoy probando los componentes en Delphi XE5, (aunque ahora trabajo con Delphi 10 Seattle, para no contaminarlo con componentes de terceros)

He reportado dos dudas al soporte de SmartFlash y estas han sido sus respuestas:

Pregunta: "It is possible to use with FMX?"
Respuesta: "It only for VCL."

Pregunta: "Is it possible incorporate .FLA files?"
Respuesta: "No. You can't use fla."

La cuestión queda muy clara. Las dos funciones están en un archivo .FLA.

Me he bajado de la red un tutorial de Actionscript 2.

Ahora que tengo un poco más de tiempo, voy a intentar traducir las funciones a Delphi. Si lo consigo, las pondré en el foro por si alguien está interesado.

Gracias especialmente a Germán por su ayuda.
Saludos cordiales.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Responder Con Cita
  #5  
Antiguo 18-11-2017
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

Hacer una "traducción" de AS2 a Delphi no es tan simple. Muchas de las cosas que se pueden hacer en AS2, no son tan sencillas de realizar en Delphi, un ejemplo es la asignación de valores a un arreglo, en AS2 al hacer:

Código:
a = [];

a[10] = 534;
AS2 automáticamente agrega los elementos del 0 al 9 para completar el arreglo, cosa que con Delphi no se puede y te produce un error de Índice fuera de rango.

Dicho lo anterior, adjunto un archivo comprimido con dos clases, una unidad y un archivo .txt que es el código "traducido" de las dos funciones de AS2.

Las dos clases son TSudokuGenerator y TSudokuSolver, y como su nombre los indican, una se usa para generar los Sudokus y la otra para resolverlos.

La clase TSudokuGenerator contiene un método público Generate(const Level: Integer) al cual se le pasa como parámetro el nivel del Sudoku que se desea generar y al finalizar la ejecución de este método, en la propiedad Sudoku se puede acceder al Sudoku generado.

La clase TSudokuSolver se usa para resolver Sudokus y contiene un método Solve(const ASudoku: String) que recibe el Sudoku generado por la clase anterior y devuelve en la propiedad Sudoku el Sudoku ya resuelto.

Un par de capturas de pantalla:






Saludos...
Archivos Adjuntos
Tipo de Archivo: zip Sudoku.zip (5,8 KB, 5 visitas)
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #6  
Antiguo 18-11-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
Hola.

Millones de gracias, maeyanes. Por tu esfuerzo y por tu tiempo.

Voy a probar tu código y te cuento. (Quizás hoy no pueda...)

Te comentaré.

Gracias, de nuevo. Recibe un cordial saludo.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Responder Con Cita
  #7  
Antiguo 19-11-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
¡¡FABULOSO!! maeyanes.

Tu trabajo ha sido MAGNÍFICO.

Funciona, perfectamente.

Sólo una pregunta. ¿Porqué todos los sudokus resueltos terminan con -1?

No es que sea un problema. La solución es correcta. Simplemente es una curiosidad.

He estado revisando
Código Delphi [-]
procedure TSudokuSolver.Solve(const ASudoku: string);
var
  S: TList;
  Q: TList>;
  I: Integer;

begin
  S := TList.Create;
  Q := TList>.Create;
  FAct := TList>.Create;
  FAq := TList>.Create;
  FSudoku := '';
  FCt := 0;
  for I := 0 to 161 do
    if I < 81 then
      S.Add(511)
    else
      S.Add(0);
  for I := 1 to Length(ASudoku) do
    if CharInSet(ASudoku[i], ['1'..'9']) then
      SetValue(I - 1, ASudoku[i], S);
  if Solver(S) then
  begin
    Q.Add(TList.Create);
    Q[0].AddRange(S)
  end;
  Cons(Q[0]);
  while (FCt < 81) and (FCt > -1) do
  begin
    if FCt2 < 0 then
    begin
      for I := 81 to 162 do
        FSudoku := FSudoku + IntToStr(Q[FCt][i]);
      Break
    end;
    SetValue(FCt2, ListPop(FAct[FCt]), Q[FCt]);
    if not Solver(Q[FCt]) then
    begin
      Q[FCt].Clear;
      Q[FCt].AddRange(FAq[FCt]);
      while (FAct[FCt].Count = 0) and (FCt > -1) do
      begin
        Dec(FCt);
        FCt2 := Q[FCt][162];
        Q[FCt].Clear;
        Q[FCt].AddRange(FAq[FCt])
      end;
    end
    else
    begin
      Inc(FCt);
      if Q.Count = FCt then
        Q.Add(TList.Create)
      else
        Q[FCt].Clear;
      Q[FCt].AddRange(Q[FCt - 1]);
      Cons(Q[FCt])
    end;
  end;
  S.Free;
  Q.Free
end;

Pero no encuentro el motivo.

No te entretengas en buscar la causa si no lo ves a simple vista. (Ya te dije que era una curiosidad y ya has hecho bastante esfuerzo.)

En Google Play tienes el sudoku al que voy a aplicar tu trabajo, (aunque antes tendré que adaptarlo para Android). La App es gratuita y se llama SudokuPlus. Busca por SudokuPlus Jhonalone, si quieres verla. A falta de una solución mejor (como es ésta) estaba utilizando un generador aleatorio, que voy a sustituir por éste que, según su autor siempre genera una solución única. El generador aleatorio, a veces, no lo hace.

Nunca olvidaré tu excelente contribución.

Un saludo muy cordial. Gracias de nuevo.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)

Última edición por jhonalone fecha: 19-11-2017 a las 19:25:05.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Acceder a Objetos desde una funcion darkmir C++ Builder 3 09-12-2013 00:12:41
Traducción de función desde delphi Novás PHP 1 14-07-2010 18:46:40
llamar una función desde un formulario cjamacaru PHP 1 03-12-2009 12:52:53
Array devuelto desde una función r1d2m3 OOP 3 26-11-2009 01:28:20
Llamar a una función de una DLL desde PHP MON___ Varios 4 05-10-2007 23:06:48


La franja horaria es GMT +2. Ahora son las 02:45:14.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi