Nur zahlen und buchstaben sollen ausgegeben werden
Moderator: Moderatoren
Nur zahlen und buchstaben sollen ausgegeben werden
hallo liebes forum,
kann mir jemand sagen wie man dieses Macro so umändert das nur Buchstaben oder Zahlen aufkommen?
Code: Alles auswählen
function f_create_PW
dim password as string
password = ""
dim npw as integer
for i = 0 to 3
npw = 33 + int(rnd()*94)
password = "" & password & chr(npw)
next i
f_create_PW = password
end function
Ich zähl mal auf wie ich es verstehe
dim [erstellt eine Variable (hier password)] as string [als eine Zeichenfolge]
password = "" [der Text(string) ist erstmal leer]
dim [erstellt eine Variable (hier npw)] as integer [als eine Zahl zwischen +-32768]
for i = 0 to 3 [i ist ein zähler es sollen 4 stellen ausgegeben werden]
npw = 33 + int(rnd()*94) [nwp = die zahl 33 + eine zufällige integerzahl * 94]
password = "" & password & chr(npw) [das password ist = der Text und die Variable password und chr(npw), also das ASCII-Zeichen für npw aus dieser Tabelle (http://www.asciitable.com/)]
next i ( nächste Stelle des passwords bis alle 4 stellen voll sind)
f_create-PW = password (Passwort ist erstellt)
wie könnte man das PW nur mit den ASCII-Bereichen füllen?
laut der Tabelle sind
48-57 (Zahlen)
65-90 (Großbuchstaben)
97-122 (Kleinbuchstaben)
Gruß ulti
kann mir jemand sagen wie man dieses Macro so umändert das nur Buchstaben oder Zahlen aufkommen?
Code: Alles auswählen
function f_create_PW
dim password as string
password = ""
dim npw as integer
for i = 0 to 3
npw = 33 + int(rnd()*94)
password = "" & password & chr(npw)
next i
f_create_PW = password
end function
Ich zähl mal auf wie ich es verstehe
dim [erstellt eine Variable (hier password)] as string [als eine Zeichenfolge]
password = "" [der Text(string) ist erstmal leer]
dim [erstellt eine Variable (hier npw)] as integer [als eine Zahl zwischen +-32768]
for i = 0 to 3 [i ist ein zähler es sollen 4 stellen ausgegeben werden]
npw = 33 + int(rnd()*94) [nwp = die zahl 33 + eine zufällige integerzahl * 94]
password = "" & password & chr(npw) [das password ist = der Text und die Variable password und chr(npw), also das ASCII-Zeichen für npw aus dieser Tabelle (http://www.asciitable.com/)]
next i ( nächste Stelle des passwords bis alle 4 stellen voll sind)
f_create-PW = password (Passwort ist erstellt)
wie könnte man das PW nur mit den ASCII-Bereichen füllen?
laut der Tabelle sind
48-57 (Zahlen)
65-90 (Großbuchstaben)
97-122 (Kleinbuchstaben)
Gruß ulti
Zuletzt geändert von Ulti am Do, 20.03.2014 13:26, insgesamt 1-mal geändert.
Win 7 Enterprise (32 Bit), LO 4.2.1, AOO 4.0.1, Excel 2003
Re: Nur zahlen und buchstaben sollen ausgegeben werden
Hallo
Achtung Python:
Karolus
Achtung Python:
Code: Alles auswählen
import string
import random
alle = string.ascii_letters + string.digits
password = ''.join(random.sample(alle, 4))
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: Nur zahlen und buchstaben sollen ausgegeben werden
danke, aber für phyton müsse laut Lappi eine JRE installiert werden, und leider wird die Installation jedesmal abgebrochen.
Ich hab folgende änderung vorgenommen
aus
npw = 33 + int(rnd()*94)
password = "" & password & chr(npw)
wurde
npw = 3 + int(rnd()*9)
password = "" & password & npw
so werden nur 4 zahlen ausgegeben, ist dann halt wie ein Pine Nummer =)
Ich hab folgende änderung vorgenommen
aus
npw = 33 + int(rnd()*94)
password = "" & password & chr(npw)
wurde
npw = 3 + int(rnd()*9)
password = "" & password & npw
so werden nur 4 zahlen ausgegeben, ist dann halt wie ein Pine Nummer =)
Win 7 Enterprise (32 Bit), LO 4.2.1, AOO 4.0.1, Excel 2003
Re: Nur zahlen und buchstaben sollen ausgegeben werden
Nein python benötigt keine JRE auch wenn dein Lappi das behauptet.Ulti hat geschrieben:danke, aber für phyton müsse laut Lappi eine JRE installiert werden, und leider wird die Installation jedesmal abgebrochen.
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: Nur zahlen und buchstaben sollen ausgegeben werden
hmm, okay ich schau mal ob ich was hinbiegen kann...
Win 7 Enterprise (32 Bit), LO 4.2.1, AOO 4.0.1, Excel 2003
Re: Nur zahlen und buchstaben sollen ausgegeben werden
Im angehängten Dokument steckt eine Funktion zum einfügen eines Passworts in die aktuell selektierte Zelle
Eine Funktion zum kopieren in dein Benutzerverzeichniss ist auch mit dabei.
Karolus
Code: Alles auswählen
import uno
from os import path
from string import ascii_letters, digits
from random import sample
ctx = uno.getComponentContext()
servicemanager = ctx.ServiceManager
createUnoService = servicemanager.createInstance
file_access = createUnoService("com.sun.star.ucb.SimpleFileAccess")
pathsubstution = createUnoService("com.sun.star.util.PathSubstitution")
def install_me(*_):
"""
Funktion zum kopieren dieses eingebetteten Pythonscripts
ins den .userconfig_python_pfad"""
pythonfolder = pathsubstution.substituteVariables('$(user)/Scripts/python/',0)
filename = path.basename(__file__)
if not file_access.isFolder( pythonfolder):
file_access.createFolder(pythonfolder)
file_access.copy(__file__, path.join( pythonfolder, filename))
def password():
doc = XSCRIPTCONTEXT.getDocument()
sel = doc.getCurrentSelection()
sel.String = ''.join(sample(ascii_letters + digits , 4))
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: Nur zahlen und buchstaben sollen ausgegeben werden
Hi ulti
Hier Zwei Basic Funktionen für die Lösung.
Gruß Kai
Hier Zwei Basic Funktionen für die Lösung.
Code: Alles auswählen
'Erzeuge Random Nummer (double)
Function RndRange(lowerbound as double, upperbound as double) as double
RndRange= lowerbound + Rnd() * (upperBound - lowerbound)
end Function
'Erzeuge Passwort
function f_create_PW(Passwortlaenge as integer) as string
dim password as string
dim npw as integer, i as integer
password = ""
i=0
while i < Passwortlaenge
npw = int(RndRange(48,122))
If (npw > 47 and npw < 58) or (npw >64 and npw < 91) or (npw > 96 and npw < 123) then
password = password & chr(npw)
i=i+1
end if
wend
f_create_PW = password
end function