Español
Foro

Pregunta de la semana!

 
- Página 1 -



Frank
Abbing
Tal vez como un hilo a veces esta bueno. Alguien le pregunta a un Programmier-Tarea y el resto intentó, una corto y bueno Solución para encontrar...
El mejor Solución podría a Code-Snippets se envasarán.

Mi trabajo para Hoy es:

Buscar un corto y schnelle Solución para determinar, si un directorio está vacío o no!
 
25.08.2008  
 



 
- Página 2 -



Frank
Abbing
Hehe, Dieter también mi API-Método Nuevo. Rápida y corta. El SHLWAPI es una explosión de nützlichen y características inesperadas!
Ahora usted puede enviar a alguien un puesto de trabajo.
 
26.08.2008  
 



Tu sí?

Ordenar performant posible 200 reales números aleatorios con 8 cifra que sigue a la precisión rnd()*1000 (XProfan 11) curso, Entonces, ¿cómo hacer una persona.
 
26.08.2008  
 




Jörg
Sellmeyer

KompilierenMarcaSeparación
Randomize
Declare s$
Window 0,0 - 400,%maxy
Var h& = Create("ListBox",%hwnd,1,1,10,200,%maxy - 80)

WhileLoop 200

    AddString(h&,Format$("00#." + MkStr$("#",8),Rnd() * 1000))

Wend

While 1

    WaitInput
    Locate 1,29
    s$ = Format$("00#." + MkStr$("#",8),Rnd() * 1000)
    DeleteString(h&,Rnd(GetCount(h&)))
    AddString(h&,s$)
    SelectString(H&,-1,s$)
    Print s$

Wend

 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
26.08.2008  
 



Yo gebs sí a la, era una idea estúpida! El siguiente por favor...
 
26.08.2008  
 




Jörg
Sellmeyer
So, más gehts:

Debe determinarse a partir de una serie de valores individuales para los decimales. Que presento aquí como punto de partida una vez que el método de las cadenas. Todo esto también debe ser matemáticamente. Una especie de prueba de bits con 4bit.
Also, el número mínimo debería en cualquier "Bit" vier Zustände repräsentieren (0,1,2,3) y sus ocho dígitos.
KompilierenMarcaSeparación
Proc ErmittleZahl

    Parameters Zahl$,l%
    Return Mid$(Zahl$,l%,1)

EndProc

Var a% = 33120113
Declare Tick&
Print a%
Set("FastMode",1)
Tick& = &GetTickCount

WhileLoop 8

    Print "Zahl",&Loop,"ist eine",ErmittleZahl(a%,&Loop)
    ErmittleZahl(a%,&Loop)

Wend


Como ya he dicho, no Stringlösungen, pero puramente matemática y no más que esto 8 Schleifendurchläufen.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
28.08.2008  
 




Frank
Abbing
¿Por qué lässt Si es usted el 1000 veces durchlaufen?
Übrigens sigue siendo uno de sus Stringlösung, oder? MID$ nunmal es una función de cadenas...
 
28.08.2008  
 




Jörg
Sellmeyer
Que el 1000él-Bucle Se me había olvidado rauszunehmen.

Frank Abbing
Übrigens sigue siendo uno de sus Stringlösung, oder?


Jörg Sellmeyer
Que presento aquí como punto de partida una vez que el método de las cadenas. Todo esto también debe ser matemáticamente.


Also: ¿Tiene un matemático Solución?
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
28.08.2008  
 




Sebastian
Sprenger
Gehts ahora realmente 2 Bits por Ziffer y 8 Dígitos por cada número, o simplemente un Mid$-Ersatz? Bueno sea cual sea:
KompilierenMarcaSeparación
Proc ErmittleZahl

    Parameters Zahl&, pos%
    Declare len%
    Dec pos%
    Case pos% < 0: Return ""

    IfNot Zahl&

        Case pos%: Return ""
        Return 0

    ElseIf Zahl& < 0

        CaseNot pos%: Return "-"
        Dec pos%
        Zahl& = Abs(Zahl&)

    EndIf

    len% = Lg(Zahl&) / Lg(10)
    Case pos% > len%: Return ""
    Return Int((Zahl& / 10 ^ (len% - pos%)) Mod 10)

ENDPROC

Antiguo procedimiento ErmittleZahl simplemente reemplazar...
 
Profan² 7.0e, XProfan 9, 11.2a, FreeProfan32
Windows Vista Home Premium 32-Bit, 2.8 Ghz, 4 GB RAM
Windows Me, 1.8 Ghz, 256 MB RAM
28.08.2008  
 




Frank
Abbing
Hm, tal vez algo como?
KompilierenMarcaSeparación
Declare a&,b&,x&
a&=33120113
x&=100
Print a&
Print

WhileLoop 8

    x&=1

    Whileloop 8-(&loop-1)

        x&=x&*10

    EndWhile

    a&=a&-(Int(a&/x&)*x&)
    b&=a&/(x&/10)
    Print b&

Wend

WaitInput
End
 
28.08.2008  
 




Jörg
Sellmeyer
Puedo publicar mis puntos de vista Solución. La necesidad para 1000 Durchgänge ~1500 - ~2000 ms (por lo tanto, el bucle de 1000)
El Stringlösung sólo necesitan ~1000 - 1500ms. Eure benötigen ~2800 - ~3500ms
Pensé, matemáticamente podría que vaya más rápido. La idea es: Yo möchte Cuerdas por SendMessage a otro programa transferencia. Las cadenas se componen de hasta 16 caracteres (podría uno de los ocho organismos encima &wparam y &lparam enviar). Sólo hay cuatro personajes diferentes, por lo tanto el número de 0-3 por un decimal.
KompilierenMarcaSeparación
Set("Decimals",0)

Proc ErRechneZahl

    Parameters Zahl%,l%
    Sub Zahl%,(Zahl% Mod (10^l%)) / 10^l%
    Return (Zahl% Mod (10^l%)) / 10^(l% -1)
    um die Bedingung mit maximal 4 Zuständen zu erfüllen, müßte das hier zurückgegeben werden:
    Zahl% = (Zahl% Mod (10^l%)) / 10^(l% -1)
    Return If(Zahl% < 4,Zahl%,0)

EndProc

Var a% = 33120113
Declare Tick&
Print a%
Tick& = &GetTickCount

WhileLoop 1000

    Locate 13,1
    Print &Loop

    WhileLoop 8

        Print ErRechneZahl(a%,&Loop)

    Wend

Wend

Print &GetTickCount - Tick&
Waitinput

Los números son rückwärts emitidas, pero eso no importa.

Relacionado con la Lg(Zahl&), rauszubekommen el número de puestos, gefällt me! Sin embargo, no está claro para mí, ¿por qué incluso a través de la Lg(10) dividest. Todavía una o?
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
28.08.2008  
 




Frank
Abbing
Ok, he mejorado mi rutina. Ahora debe resolver mucho más rápido:
KompilierenMarcaSeparación
Declare a&,b&,x&
a&=33120113
x&=100
Print a&
Print

WhileLoop 8

    x&=10^(8-(&loop-1))
    a&=a&-(Int(a&/x&)*x&)
    b&=a&/(x&/10)
    Print b&

Wend

WaitInput
End
 
29.08.2008  
 




Sebastian
Sprenger
Jörg Sellmeyer
¿por qué incluso a través de la Lg(10) dividest. Todavía una o?

Real, Él es el?
*ausprobier*
Sí, es. Lo que conviene saber. Uno puede tomar el logaritmo a una base de ciertas (en mi caso 10) calcular, pero si el Lg-Función en 10 sowieso 1 ausgibt, kann's de hecho se omite.
 
Profan² 7.0e, XProfan 9, 11.2a, FreeProfan32
Windows Vista Home Premium 32-Bit, 2.8 Ghz, 4 GB RAM
Windows Me, 1.8 Ghz, 256 MB RAM
29.08.2008  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

25.946 Views

Untitledvor 0 min.
p.specht22.05.2013
mene06.12.2012
Peter Max Müller11.12.2011
Jens Tiburski29.12.2010
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie