(S) Programm das mir anzeigt, wenn ein Zahl doppelt ist

S

stullenandi

unregistriert
Thread Starter
Dabei seit
24.01.2009
Beiträge
222
Reaktionspunkte
4
Hallo,

ich bekomme am Tag mehrere Zahlen z.b 3784 48932 47939. Dafür suche ich ein Programm, wo ich diese Zahlen speichern kann und wenn dann allerdings eine Zahl kommt, die ich schon hatte, das mir das Programm dann Bescheid sagt.
 
sowas solltest du dir am besten selbst progammieren.

willst du die zahlen selbst von hand eingeben?
wie lange sollen die gespeichert sein? beginnst du täglich neu oder dürfen die zahlen dauerhaft nur einmalig vorkommen?

verrate uns mehr über den eigentlichen zweck der ganzen aktion, dann kann man gezieltere hinweise geben...
 
Das kannst du mit Excel machen.

Markiere alle Zellen in denen du Duplikate auffinden möchtest, klicke auf Format > Bedingte Formatierung.
Füge eine neue Regel hinzu, unter der "Kategorie" Klassisch findest du den Eintrag Nur eindeutige oder doppelte Werte formatieren.
Dann kannst du z.B. auswählen das dir Duplikate rot angezeigt werden.

Bildschirmfoto 2015-07-05 um 13.05.00.png
 
Wie bekommst Du denn diese Zahlen? Sagt Dir die jemand am Telefon oder schickt Dir jemand eine Excel-Datei zu?
 
Wenn er es programmieren könnte/wöllte, dann würde er wohl kaum fragen.

Wie kommen die Zahlen denn an? Wie viele sind 'mehrere'?

Im schlimmsten Fall speicherst du sie in eine Exceltablle und lässt dir die Duplikate anzeigen.
 
Das kann man ohne programmieren einfach mit grep machen. mit -f kann man ein file als pattern verwenden. da packt man alle "neuen" nummern rein. dann grep auf das file mit allen "alten" nummern.
wenn man noch mit sed an das "neue nummern file" ein ^ an den anfang und ein $ an das ende jeder zeile stellt, sollte das problem gelöst sein.
 
AppleScript:

Code:
property theNumbers : {}

repeat
    set theAnswer to (display dialog "Geben Sie die Nummer ein:" default answer "" buttons {"Abbrechen", "Optionen", "OK"} default button 3)
    set theButton to button returned of theAnswer
    set theText to text returned of theAnswer
    if theButton is "OK" then
        if theText is not in theNumbers then
            set end of theNumbers to theText
        else
            display dialog "Die Zahl " & theText & " ist bereits vorhanden!"
        end if
    else if theButton is "Optionen" then
        set theOption to button returned of (display dialog "" buttons {"Zurück", "Zahlen zurücksetzen", "Zahlen exportieren"} default button 1)
        if theOption is "Zahlen exportieren" then
            set theLocation to (choose folder "Wählen Sie einen Ordner aus:")
            set AppleScript's text item delimiters to return
            set theExport to theNumbers as text
            set AppleScript's text item delimiters to ""
            do shell script "echo " & quoted form of theExport & " >" & quoted form of POSIX path of ((theLocation as text) & "export.txt")
        else if theOption is "Zahlen zurücksetzen" then
            set theNumbers to {}
        else if theOption is "Zurück" then
            -- do nothing
        end if
    else if theButton is "Abbrechen" then
        exit repeat
    end if
end repeat
 
Das Script von Pill ist Klasse. Reicht mir vollkommen aus, kann man da aber noch die Dauer ändern? Mir reichen 90 Tage aus, wobei dann natürlich immer nur der 91. Tag rausfallen sollte und nicht auf einmal alles genullt wird.
 
So werden alle Zahlen älter als 90 Tage automatisch gelöscht:

Code:
property theNumbers : {}
property numberOfDays : 90 * 86400 -- Anzahl der Tage hier festlegen (in Sekunden)

repeat
    -- alte Einträge löschen:
    repeat with i from 1 to count theNumbers by 2
        if ((current date) - (item i of theNumbers)) < numberOfDays then
            set theNumbers to items i thru -1 of theNumbers
            exit repeat
        end if
    end repeat
    --
    set theAnswer to (display dialog "Geben Sie die Nummer ein:" default answer "" buttons {"Abbrechen", "Optionen", "OK"} default button 3)
    set theButton to button returned of theAnswer
    set theText to text returned of theAnswer
    if theButton is "OK" then
        if theText is not in theNumbers then
            set end of theNumbers to (current date)
            set end of theNumbers to theText
        else
            display dialog "Die Zahl " & theText & " ist bereits vorhanden!"
        end if
    else if theButton is "Optionen" then
        set theOption to button returned of (display dialog "" buttons {"Zurück", "Zahlen zurücksetzen", "Zahlen exportieren"} default button 1)
        if theOption is "Zahlen exportieren" then
            set theLocation to (choose folder "Wählen Sie einen Ordner aus:")
            set AppleScript's text item delimiters to "
"
            set theExport to theNumbers as text
            set AppleScript's text item delimiters to ""
            do shell script "echo " & quoted form of theExport & " | sed -n 'n;p;' > " & quoted form of POSIX path of ((theLocation as text) & "export.txt")
        else if theOption is "Zahlen zurücksetzen" then
            set theNumbers to {}
        else if theOption is "Zurück" then
            -- do nothing
        end if
    else if theButton is "Abbrechen" then
        exit repeat
    end if
end repeat
 
Problem ist nur, starte ich den Rechner neu, sind alle Zahlen weg, wird also anscheinend nicht gespeichert oder mache ich was falsch?

Hatte den Script Editor geöffnet und das dort gespeichert.
 
Du musst das Skript als Programm speichern, dann sollte es funktionieren.
 
  • Gefällt mir
Reaktionen: stullenandi
Danke, jetzt geht es
 
Zurück
Oben Unten