Beiträge von GerhardSchr
-
-
Random ist das stichwort für die suche
-
Dass Gerhard noch keinerlei Vorstellung hatte, wie viele Samen überhaupt auf einen Quadratmeter passen, fand ich doch ... öhh ...
ich bin ja nicht der landwirt, nur ein kumpel der sich das mal mit angeschaut hat und meinte so: "das geht doch bestimmt auch einfacher/schneller"
//edit: habe mal ein korn vermessen: länge 6mm dicke: (an der dicksten stelle)3mm
-
ah deshalb nur auf dem DinA4 Zettel
-
alpines: jup ich spreche es mit ihm mal durch
-
danke für den link..da kann man ja mal nachfragen.
bei z.B. 1000 Körnern, 1 Korn pro sekunde wären 1000sek/60=16,6 minuten (=1 Bier :))
bei z.B. 1000 Körnern, 1 Korn pro 3 Sekunden waren 3000sek/60=50 minuten (mehr bier oder halt andere arbeiten nebenbei erledigen)
wobei ich nicht weiß wieviele körner auf z.B. ein DinA4 Blatt gehen....
hui da gibt es ein gerät was 50000!!! zählungen pro stunde macht...das wären 13,8 pro sekunde oder!?!?
-
geschwindigkeit ist ja nicht so wichtig, da ja nur eine kleine menge gezählt wird...
eigentlich ist man garnicht mehr dabei oder lässt es 3 mal zählen und bildet einen mittelwert...kann ja ne halbe stunde laufen...im notfall stellt man sich mit 2 leuten daneben und drinkt halt 2 flaschen bier
-
ich finde es schonmal gut, dass hier infos ausgetaucht werden...
jeder hat eine andere meinung zu dem thema, was aber auch gut ist.wenn immer alle die gleiche meinung hätten wären wir noch in der steinzeit :)))
aber es muss einigermaßen praktikabel und nachjustierbar sein (z.B. wenn sich die kornart ändert)
deshalb hatte ich ja die "universelle" idee mit der waage ...kann man im notfall auch steine oder ostereier zählen (je nach "einzelauswurfmaschine" ) -
-
moin,
jo mit dem retrun wert ist ne gute idee...aber warum soll er ohne (?i) nicht alles finden?
FileFindNextFile hatte ich auch schonmal benutzt.....bei mir ist dann der code unübersichtlich gewurden
auch war es damals für mich eine kleine übung, funktionen mehrfach selbst aufzurufen -
hmm das konnte man mit einen counter lösen:
AutoIt
Alles anzeigen$counter = 0 $frage = MsgBox (3, "Frage", "Wirklich alle .txt Dateien löschen?") If Not ($frage = 6) Then MsgBox (0, "Hinweis", "Tool wird nicht weiter fortgesetzt!") Exit EndIf tree ("C:\test") If $counter > 0 Then MsgBox (0, "Fertig", "Es wurde(n) " & $counter & " txt-Dateien bearbeiten") Else MsgBox (0, "Fertig", "Es wurden keine txt-Dateien gefunden") EndIf Func tree ($file) If StringInStr (FileGetAttrib ($file), "D") Then $files = _FileListToArray ($file, "*", 0) If IsArray ($files) Then For $folder = 1 To UBound ($files) -1 tree ($file & "\" & $files[$folder]) Next EndIf Else If StringRegExp ($file, "\.txt$", 0) Then $counter += 1 $fehler = FileDelete ($file) If $fehler = 0 Then MsgBox (0, "", "Konnte " & $file & " nicht löschen!") EndIf EndIf EndIf EndFunc
wobei ich das nicht elegant finde, daher meine frage:
wie kann ich $counter in der funktion declarieren, ohne mir den wert jedesmal wieder zu resetten?
ich dachte da an IsDeclared....allerdings hat dies nicht so geklappt wie ich wollte... -
deine abfrage muss innerhalb von
vorgenommen werden, sonst fragt er auch bei NICHT txt dateien, ob er löschen soll (obwohl er da nicht löscht)
z.B. so:
AutoIt
Alles anzeigentree ("C:\test") Func tree ($file) If StringInStr (FileGetAttrib ($file), "D") Then $files = _FileListToArray ($file, "*", 0) If IsArray ($files) Then For $folder = 1 To UBound ($files) -1 tree ($file & "\" & $files[$folder]) Next EndIf Else If StringRegExp ($file, "\.txt$", 0) Then $frage = MsgBox (3, "Frage", "Wirklich " & $file & " löschen?") If $frage = 6 Then FileDelete ($file) EndIf EndIf EndIf EndFunc
//edit: beim löschen bietet es sich an auch fehler abzufangen, da z.B. eine geöffnete Datei sich bei windows nicht einach löschen läst:
AutoIt
Alles anzeigenFunc tree ($file) If StringInStr (FileGetAttrib ($file), "D") Then $files = _FileListToArray ($file, "*", 0) If IsArray ($files) Then For $folder = 1 To UBound ($files) -1 tree ($file & "\" & $files[$folder]) Next EndIf Else If StringRegExp ($file, "\.txt$", 0) Then $frage = MsgBox (3, "Frage", "Wirklich " & $file & " löschen?") If $frage = 6 Then $fehler = FileDelete ($file) If $fehler = 0 Then MsgBox (0, "", "Konnte " & $file & " nicht löschen!") EndIf EndIf EndIf EndIf EndFunc
oh ich sehe gerade, dass du nur einmal fragen willst, dachte es soll bei jeder datei gefragt werden...
hier die version wo er nur am anfang einmal fragt:AutoIt
Alles anzeigen$frage = MsgBox (3, "Frage", "Wirklich alle .txt Dateien löschen?") If Not ($frage = 6) Then MsgBox (0, "Hinweis", "Tool wird nicht weiter fortgesetzt!") Exit EndIf tree ("C:\test") Func tree ($file) If StringInStr (FileGetAttrib ($file), "D") Then $files = _FileListToArray ($file, "*", 0) If IsArray ($files) Then For $folder = 1 To UBound ($files) -1 tree ($file & "\" & $files[$folder]) Next EndIf Else If StringRegExp ($file, "\.txt$", 0) Then $fehler = FileDelete ($file) If $fehler = 0 Then MsgBox (0, "", "Konnte " & $file & " nicht löschen!") EndIf EndIf EndIf EndFunc
-
wenn man es noch etwas "sicherer" machen will, könnte man statt StringinStr StringRegExp benutzen:
AutoIt
Alles anzeigentree ("C:\test") Func tree ($file) If StringInStr (FileGetAttrib ($file), "D") Then $files = _FileListToArray ($file, "*", 0) If IsArray ($files) Then For $folder = 1 To UBound ($files) -1 tree ($file & "\" & $files[$folder]) Next EndIf Else If StringRegExp ($file, "\.txt$", 0) Then FileDelete ($file) EndIf EndIf EndFunc
-
ich kann mich nochmal informieren, aber es ist wohl so, dass die Körner jedes Jahr z.B. unterschiedlich schwer/groß sind....
daher muss jedes mal wieder gezählt werden...klar sonst hatte man sie einfach einmal per Hand gezählt und dann jedes Jahr hochgerechnet.....
scheint aber nicht zu gehen.
ich frage meinen Kumpel nochmal ... ich hatte es aber so verstanden....
danke für euer Interesse!
-
ihr habt ja Ideen
darauf würde ich nie kommen...es geht allerdings nicht um kaputte körner ausfindig zu machen, sondern um das zählen der "Gegenstände"...in diesem fall verschiedene Körner....
der Sinn der Sache ist, dann man dann ausrechnen kann wieviele Körner man für einen Hecktar benötigt (hochgerechnet von einem m2 bzw. von einem DinA4 Blatt)
Ich würde eine waage benutzen, nicht zum wiegen, sondern um festzustellen ob etwas draufgefallen ist....sozusagen als counter
Allerdings weiß ich noch nicht, wie die Vorrichtung funktionieren soll, dass immer nur ein Korn auf die Waage fällt....
-
wow danke für die vielen Antworten!
ich schaue mir das nochmal genau an....
ich habe auch nochmal mit einem Bekannten gesprochen, er sagte mir das Stichwort: Canny-edge -> Threshold -> Blob detection
habe ich mir auch mal z.B. bei youtube angeschaut, aber ich glaube das ist nur für grobere Sachen gut....und auch aus meiner Sicht nicht ganz einfach / zu starr....daher habe ich jetzt eine ganz andere Idee (unabhängig vom Korn):
Körner kommen in eine Vorrichtung, wo immer nur ein Korn raus kommen kann (noch keine Idee wie)
dieses Korn fällt dann auf eine Feinwaage.Feinwaagen gibt es schon für ca. 15€ und können im 10mg Bereich Unterschiede feststellen....
Allerdings haben die keine Schnittstelle...daher würde ich den wert mittels cam und eventuell einem pi auswerten....oder halt windows mit autoit...
Im einfachsten Falle schaue ich nur, ob sich das Display verändert...danach wird das Korn mit Druckluft von der Waage entfernt
ich heiß hört sich ziemlich abenteuerlich an, könnte aber funktionieren oder?
//edit: es gibt sogar Waagen mit Zählfunktion...ist halt die frage wie anfällig das in meinem Fall wäre....
-
hi,
sorry das ich nicht mehr geantwortet hatte...ist bei mir untergegangenich habe die bilder für euch (extern wegen der dateigröße) hochgeladen
https://mega.nz/#F!vJ42UTrK!utxMs3E8VgBtojC3Olwedw
bin gerade am probieren die bilder mit gimp so zu bearbeiten, dass es eventuell einfacher zum erkennen wird...
diese sind ungezählt...allerdings könnte man ja einen (roten) punkt auf erkannte körner setzen...dann kann man mit mit dem auge grob sehen wieviele falsch sind...
danke schonmal
-
ungetestet hätte ich es so gemacht..
AutoIt
Alles anzeigenFunc tree ($file) If StringInStr (FileGetAttrib ($file), "D") Then $files = _FileListToArray ($file, "*", 0) If IsArray ($files) Then For $folder = 1 To UBound ($files) -1 tree ($file & "\" & $files[$folder]) Next EndIf Else If StringInStr ($file, ".txt") > 0 Then FileDelete ($file) EndIf EndIf EndFunc
-
das mit dem filtern sollte ja mit gimp machbar sein....
wenn bei einer fläche von z.B. einem A4 Blatt voller Körner (überlappungsfrei) ca. 10 falsch gezählt werden ist das ok
-
danke euch beiden...werde es mir nochmal genauer überlegen und anschauen...