Zum Inhalt springen

doublezero

Mitglieder
  • Gesamte Inhalte

    97
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von doublezero

  1. hey taz, nicht sauer werden. ich finde dieses thema hochinteressant, und vielleicht ist es ja sogar mgl, dass wir gemeinsam wege finden, einen generator zu entwickeln, der annehmbare *zufaellige* werte liefert. es ist nur so, dass *stochiastik* statistische werte ueber zufaelle ermittelt, also die berechenbarkeit des zufalls sucht, waehrend wir mit einem generator eigentlich bemueht sind, genau das *kaputt zu machen*. imho ist gauss uns deshalb hier nicht wirklich behilflich; was aber nicht heisst, dass deine meinung nicht auch einen sinn haben kann, den ich nicht sehe [was wiederum ursaechlich dafuer ist/sein kann, dass ich bis dato noch immer keinen weg gefunden habe, einen ausreichend befriedigenden *zufall* erzeugen zu koennen.]. um auf deine frage zu kommen, wozu das ganze notwendig ist, kann ich dir verschiedene fachgebiete nennen, die sich mit dem *echten zufall* auseinandersetzen: chaostheorie und kryptographie seinen hier nur vertretungsweise erwaehnt. wenn es moeglich waere, unendliche *echte zufallsfolgen* zu erzeugen, dann koennte man z.b. saemtliche verschluesselungen *absolut* sicher machen, indem ich bspw. ein one-time-pad ueber die gesamte *bibel* oder ueber *war and peace* legen koennte, ohne dass auch nur der hauch einer chance bestuende, den schluessel - der ja dann genau so lang waere, wie der eigentliche inhalt des zu verschluesselnden textes - zu ermitteln. wmg dz
  2. tech, wenn du *nur* die sec verwerten wuerdest, dann haettest du viel (!) zu kurze zyklen! falls du jedoch diese werte als initial-werte verstanden wissen wolltest, dann wuerde ich der effektivitaet wegen doch eher die millisec bevorzugen, da hier der periodische takt nicht ganz so schnell offensichtlich wird. und *uhr* bezog sich in meinem bsp lediglich auf den taktgeber, nicht auf das, was du so nett angezeigt bekommst, wenn du nach der zeit fragst ... auch dein *verrauschtes bild* ist nicht zufaellig, sondern vorherbestimmt, so dass man - und hier waere es wirklich simpel - recht schnell auf die entstehende zahlenfolge schliessen koennte. (das *rauschen* in den grafikprogrammen wird ja von den TAZttDevil-gauss'schen algorithmen berechnet - ist also reversibel.) taz, warum du dauernd auf der gaussverteilung herumhackst kann ich nicht nachvollziehen. sie beschreibt lediglich eine reelle, symmetrische(!) und positiv definitive matrix. sobald jedoch symmetrie im spiel ist, wird es kalkulierbar, und genau das ist es ja was eine *zufaellige folge* kompromittieren wuerde. daher waere sie nicht nur unnoetig, sondern m.e. sogar voellig fehl am platz. vielmehr koenntest du tech's *verrauschtes bild* vorherbestimmen, damit er sich nicht die muehe machen muss, es selbst zu malen. wmg dz
  3. ich habe da mal die wichtigsten definitionen rund um den zufall in generierten zahlenfolgen herausgesucht. *zufallszahl* [auch: zufallsbit] wird nach b. schneier folgendermassen definiert: 1. "er [der generator] scheint zufaellig zu sein. das bedeutet, dass er saemtliche uns zugaenglichen statistischen zufallstests besteht." [def. *pseudozufall*] 2. "sie [die pseudozufallsfolge] ist nicht voraussagbar. es muss unmoeglich sein zu berechnen, welches zufallsbit als naechstes kommt, selbst wenn der algorithmus oder die hardware, die die folge erzeugen, sowie alle vorangehenden bits bekannt sind." [def. *kryptographisch sichere pseudozufallsfolgen*] 3. "er [der generator] ist nicht zuverlaessig reproduzierbar. wenn man den generator zweimal mit exakt derselben eingabe (zumindest soweit dies menschenmoeglich ist) laufen laesst, erhaelt man zwei zufallsfolgen, die keinerlei aehnlichkeit aufweisen" [def. *echte zufallsfolgen*] ich denke daher, dass gute (pseudo)zufallsfolgen nicht zwingend auf komplizierten wegen *errechnet* werden muessen, tech. wie waere es denn, wenn man einfach nur initialisierungswerte nimmt, welche nicht oder zumindest schwer nachvollziehbar sind (akt.mauspos; akt.rasterzeile, farbwert des bildpunktes unter dem mauszeiger, akt.cpu-auslastung, verzoegerung zw. zwei tastaturanschlaegen, etc.); diese der sicherheit halber durch ein oder zwei einwegfunktionen schiebt und - insbesondere wenn man mehere quellen kombiniert - doch schon recht ansehnliche *zufallszahlen* mit den simplen *random*-funktionen verschiedenster sprachen erhaelt. natuerlich gibt es bessere wege, die letztlich noch zufaelliger werdende ergebnisse erzeugen: * die rand-tabelle, * zufaelliges rauschen (z.b. atmosphaerisches oder hintergrundrauschen) * radioaktiver zerfall (zeitspanne zwischen zwei emissionen; hier am besten plutonium ) * oder sogar die systemuhr: bastelanleitung eines zahlengenerators: [nach j.b.lacy, d.p.mitchell und w.m.schell] "... zieht einen alarm auf und erhoeht dann solange einen zaehler in einem cpu-register, bis ein interrupt kommt. der inhalt des registers wird dann mit dem inhalt eines ausgabepuffers xor-verknuepft, wodurch der inhalt des registers auf 8 bit abgeschnitten wird. nacdem jedes byte des ausgabepuffers gefuellt ist, wird jedes zeichen im puffer ringfoermig um zwei bit nach rechts verschoben. dadurch verschieben sich die aktivsten (und zufaelligen) niederwertigen bits in die hoechstwertigen stellen. der gesamte vorgang wird dreimal wiederholt. schliesslich wird jedes zeichen des puffers von den beiden zufaelligsten bits des zaehlregisters nach interrupts beeinflusst. es treten also 4n interrupts auf, wobei n die anzahl der gewuenschten zufallsbits ist." solange wir jedoch noch auf den hausgebrauch quantenmechanischer computer warten muessen, bleibt uns keine wahl: "der zufall ist und bleibt berechenbar". wmg dz
  4. falls du eine tabelle sortieren willst, dann hilft dir *sort* ganz sicher weiter, denke ich. bsp: Range("B3:F10").Select Selection.Sort Key1:=Range("B3:F3"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom falls du moechtest, dass neue zahlen einsortiert werden sollen, dann kannst du sie einfach ans ende der tabelle haengen, und anschliessend neu sortieren. wmg dz
  5. einwegfunktionen nutzen hier aber so gar nichts, denn du machst es mir nun zwar unmoeglich, anhand der *zufallszahl* den initialisierungswert zu ermitteln; jedoch erhalte ich nach wie vor mit gleichem initialiserungswert immer noch die gleiche zufallszahlenfolge. genau das ist ja letztlich der sinn der *einwegfunktionen* ... zudem erzeugen computergenerierte folgen immer periodische werte, so dass sich diese zahlen zwangslaeufig vorhersagen lassen. und vorhergesagter zufall ist dann wohl doch keiner mehr, oder ?! solltest du es dennoch geschafft haben, *echte* zufallszahlen zu erzeugen, dann lass dich fuer den nobelpreis vorschlagen, den hast du dir dann naemlich verdient. es gibt bis dato *keine* einfache moeglichkeit, auf einem computer echte zufallszahlen zu erzeugen. alle diesbezueglichen *verbesserungen* zielen auf eine verlaengerung der periode ... wmg dz
  6. eine *echte* definition kann ich dir nicht geben, aber: alle standard-datenbanken werden auf vmax optimiert - ihr ziel ist schliesslich das schnelle wiederfinden der daten. dafuer muessen sie allerdings einige einschraenkungen in kauf nehmen. so muessen datensatzlaengen begrenzt werden und alle felder strukturiert sein. das fuehrt dazu, dass man zwar hervorragend z.b. adressen archivieren kann. bei der ablage von z.b. zeitungsartikeln scheitern diese systeme jedoch, weil die artikel bekanntlich hoechst unterschiedliche laengen haben koennen. volltextdatenbanken sind aber in der lage, ganze texte z.b. die erwaehnten artikel und sogar ganze buecher in einem datensatz zu speichern. dabei muesssen sie allerdings auf die schnelle auffindbarkeit der einzelnen datensatze verzichten. ich hoffe, diese *popularisierte definition* kann dir helfen. wmg dz
  7. schau doch bitte in der m$-knowledgebase nach. unter art.-no Q255765 solltest du dein problem nicht nur beschrieben sondern auch noch einen netten work around bekommen. wmg DZ
  8. nachdem ich mir nun ungefaehr ein bild machen konnte, worauf es abzielt, denke ich, dass die vorschlaege auch etwas gezielter werden: 1. ob der preis gerechtfertigt ist, bleibt deine entscheidung. du rechnest also mit einem umsatz von ca. 2,000 € * 100 stk = 200,000 €. wenn das bereits fixe daten sind (vorbestellungen, anfragen, etc.), dann wuerde ich eine firma mit der vermarktung beauftragen (kosten: 10,000 - 30,000 €; aber weniger sorgen; damit wuerden auch alle weiteren punkte hinfaellig) 2. wenn du direktmarketing betreibst, kannst du in der tat auf umfangreiche verpackungen verzichten. soll das teil jedoch in den laden, wuerde es neben anderen produkten untergehen, ohne eine ansprechende verpackung: "das auge kauft mit" (es gibt einige verpackungsbetriebe, die auch kleine und kleinste stueckzahlen herstellen; da es jedoch eine standardverpackungsgroesse sein kann, koenntest du einen druck entwerfen lassen, blankokartonagen kaufen, bedrucken lassen (kosten bis hier ca. 15 - 25 €/stk), und diese dann selbst kleben (100 stk kann man schon mal basteln, es ist ja letztlich lediglich das zusammenkleben) 3. aus den screenshots schliesse ich, dass du auf ein handbuch getrost verzichten kannst, da es in weiten teilen selbsterklaerend wirkt. ich denke eine broschuere mit einer programmparameterbeschreibung, einer installationsanleitung und ein paar schicken bildern tut es auch (herstellungskosten in einer agentur ca. 300 - 500 €; vervielfaeltigungskosten im copyshop ca. 5 €/stk) 4. das inlay - respektive das label - kannst du von der agentur mitentwickeln lassen, oder du koenntest teile der broschuere verwerten, wenn du es selbst machen willst. 5. deine firmenpolitik und -struktur ist zwar unklar geblieben, aber falls du entwickler, vermarkter und supporter in personalunion bist, dann plane definitiv kosten und zeit durch erhoehten aufwand ein (telefon, evtl. vor-ort-service, einweisung, debugging, etc.) 6. falls deine firma bereits einen (bekannten) namen hat, dann kannst du die werbung zwar reduzieren, ein verzicht waere jedoch dumm ... hat deine firma noch keinen namen, dann bedenke, dass die leute dir sicher nicht sonderlich gern die 2,000 - 3,000 € in die Tasche schieben werden, ohne vorher erkundigungen einzuholen, ob die investition sich auch lohnt; und woher bekommen sie diese, wenn nicht aus der werbung oder von test- bzw. erfahrungsberichten ?! wmg dz
  9. ... deine "alte" ist in konkurs gegangen ?! ... da predigt man immer und immer wieder: "leute macht ehevertraege" ... aber nein, niemand hoert einem zu ... ... kleiner trost: inkontinenz waere schlimmer ... mit insolvenz kann man ganz gut leben (ist ja schliesslich nicht ansteckend, oder ?!) DZ
  10. so viele fragen... ... aber keine wirklich befriedigenden antworten, denn alles haengt vom aufwand ab, den du betreiben willst (kannst). die vermarktung kann problemlos einige tausend mark ... äh euro ... verschlingen, daher ist es wichtig, dass du dir gedanken machst, wie weit du tatsaechlich gehen kannst (willst). zunaechst solltest du dir gedanken machen, welche umsaetze du erwarten kannst (das ist der groesste fallstrick, der vielen leuten regelmaessig das genick bricht, weil sie sich und ihr "baby" masslos ueberschatzen.). von der antwort auf diese frage haengt eigentlich alles andere ab: wird das ding ein knaller, dann investiere sofort einige 1,000 € in gute marketing-profis (die machen dann auch alles fein fertig.). rechnest du eher mit kleineren absatzzahlen, oder bist du unsicher, wie es laufen wird, dann spare wo du kannst, am ende wird immer(!) eine rechung von mehreren hundert € stehen, die zu bezahlen hast. bedenke auch folgekosten, wie support (hotline), update-entwicklung, nachtraegliche debug-kosten, schulungen etc. und vergiss das finanzamt nicht, die brueder (und schwestern) dort moegen das gar nicht, wenn du ohne sie reich wirst ... schon die erste verkaufte cd musst du artig anmelden ... zum brennen/pressen: mastere dir eine cd und renne in die nächste(n) multimedia-agentur(en). frag nach, was die haben wollen, wenn du 100 oder 200 pressen (und/oder brennen) lassen wuerdest ... dann entscheide (bei dieser kleinen menge schaetze ich den stueckpreis auf ca. 5-10 €/stk) das label: kannst du selbst entwickeln (falls du kreativ bist); du kannst es aber auch marketing-profis ueberlassen (kostenpunkt: um die 200 €) falls du es selbst in die hand nehmen willst: besorge dir eine gute label-maschine und vernuenftige labels; 100 cd's schaffst du vielleicht noch allein, aber 500 oder gar 1,000 ? du wirst dir selbst fuer die investition danken, wenn du nicht mehr jede 10te cd wegwerfen musst, weil das label von diesen billig-maschinen schief aufgesetzt wurde ... die cd-qualitaet hingegen ist heutzutage fast vernachlaessigbar (die aldi-cd's lagen vor 2 monaten - man mag es kaum glauben - auf platz 2 der gesamtwertung, weit vor den teuren marken-cd's) denke auch an die verpackung, ein netter karton mit schicken bildern freut die leute 1,000mal mehr, als eine "nackige" cd mit einem standard-cover (wirkt halt professioneller). das haengt jedoch vom angestrebten softwarepreis ab. zum handbuch: das haengt von der (online-)hilfe ab, die du anbietest: faellt die eher klein aus, dann brauchst du ein dickes handbuch. auch hier gilt: ein master(diskette, .pdf oder .doc), dann in den copy-shop und entsprechend viele dokumente ziehen und binden (oder kleben) lassen. ist die (online)hilfe umfangreich und ausreichend, dann genuegt ein schmales handbuch mit den wesentlichen daten der software und einer groben hilfe oder uebersicht. vergiss die anleitung nicht, falls die installation irgendwelche tuecken aufweisen sollte. tipp: packe in jedem fall eine kopie (.pdf) davon mit auf die cd, sonst nerven dich die leute tag und nacht, weil sie das handbuch nicht gelesen und/oder verloren haben. tja, last but not least die werbekosten nicht vergessen, schicke dein programm inclusive doku an alle pc-fachzeitungen, die auch nur annaehernd mit dem thema umgehen koennen, damit die einen artikel darueber schreiben. ... wie du siehst sind die tipps alle ins blaue, denn deine hinweise sind bedauerlicherweise nicht annaehernd ausreichend, um dir eine echte strategie zu empfehlen ... viel glueck, du kannst es brauchen ... wmg DZ
  11. wenn ich da mal was sagen duerfte ... was der marc sagt, ist in der tat voellig korrekt: 1. delphi wurde als entwicklungsumgebung auf object pascal (op) "aufgesetzt". es ist moeglich, vollwertige op-programme zu entwickeln, ohne "delphi" zu benutzen; ebenso wie es moeglich ist, mit c++ programme zu schreiben, ohne den c++-builder zu nutzen. doch warum sollte ich mit der flachen hand einen nagel in die wand schlagen, wenn ich einen hammer habe ?! 2. "delphi" ist die bezeichnung der entwicklungsumgebung ... als man auf "builder" kam (mit dem c++-builder) war die bezeichnung "delphi" schon viel zu populaer (immerhin war man schon bei der 2. version und es gab bis dahin keine ernsthafte konkurrenz), als dass die marketing-strategen sich einverstanden erklaert haetten, den namen zu "op-builder" wechseln. die bezeichnung "delphi" fuehrt man in der einschlaegigen fachliteratur fuer gewoehnlich, um auf den unterschied zwischen plain-op und delphi hinzuweisen, denn differenzen gibt es auch zwischen diesen beiden: delphi uebernimmt z.b. jede menge stupider schreibarbeit, die mir bei op immer noch obliegt ... 3. op ist der quasi-nachfolger von turbo pascal; sozusagen als "antwort" auf die entwicklung von c zu c++ 4. fein beobachtet, wenn der unterschied zwischen objektorientierter (oo) programmierung und strukturierten sprachen erkannt wurde, doch ist es als argument irrelevant, wenn man bedenkt, dass es um konzeptionelle werte geht. objektorientierte programmierung (oop) ist ein konzept; und als solches sprachenunabhaengig. ergo, hat man das konzept der oop begriffen, dann ist es irrelevant, welche sprache man benutzt. auch hier steht die realitaet modell. die vokabeln sind zwar der aufwändige, jedoch nicht der wichtige teil des lernprozesses ... mit anderen worten: das umsteigen von oder zu delphi auf oder von einer anderen oo-sprache ist (fast) ausschließlich eine frage der "vokabeln" ... 5. yeah, mit delphi kann man theoretisch jede art von software schreiben, doch spezialisiert ist es auf internet/intranet und datenbanken. ich kann meine wohnung selbst malern, oder es einem spezialisten ueberlassen. genauso steht es um die sprachen. fuer jeden fall gibt es spezialisten: ... eine datenbank-anwendung entwickeln ? *delphi* ... eine bibliothek basteln ? *c++* ... eine simple grafische aufgabe lösen ? *c* ... komplexe spiele (grafische anwendungen) ? *c++* & *assembler* ... microtools, viren, daemons, treiber ? *assembler* ... mathematische probleme loesen ? *cobol* ... plattformuebergreifende software schreiben ? *java* ... usw. usf. all das koennte ich auch mit delphi loesen, doch das leben ist schon schwer genug, warum es noch schwerer machen durch die wahl der "falschen" waffe ?! DZ ps: muss man seine argumente jetzt mit der dauer der programmiererfahrung unter delphi qualifizieren ? also ich bin von anfang an dabei (seit ende 1993) und kenne (und besitze) noch die erste wirklich ueble beta von delphi 1. hilft das der glaubwuerdigkeit meiner darlegungen ? pps: diese debatte hat nicht mehr viel mit dem eigentlichen thema zu tun, und wird den/die arme(n) *evil123* wahrscheinlich in arge verstaendnisnoete treiben. daher noch einmal eine zusammenfassung: *lpd* hat dir eigentlich alle fragen voellig umfassend beantwortet ... den einzigen (wichtigen) irrtum beging er/sie, bei deiner frage "Und wenn ich Delphi kann, fällt es mir dann leichter auch andere Sprachen zu erlernen?" hier muesste es korrekterweise heissen: wenn du anschließend weiterhin bei der oop (z.b. java und c++) bleiben willst, dann wirst du dich sehr rasch umstellen koennen (und hin und wieder auch muessen); wenn du aber auf andere sprachen, wie assembler, lisp oder c umsteigen willst, dann hilft dir dein wissen zu delphi ebenso weit, wie eventuelles wissen zu java oder c++. stelle dir der einfachheit halber vor, die strukturierte programmierung sei die deutsche , und die oop waere die englische sprache ... es ist relativ(!) leicht einen sachsen zu verstehen, wenn man deutsch beherrscht, oder einen schotten, wenn man der englischen sprache maechtig ist. genau so verhaelt es sich auch mit den programmiersprachen ... die großen gruppen der sprachen unterscheiden sich sehr voneinander; doch als trost sei dir gesagt: du wirst freiwillig keinen schritt von der oop weg machen wollen, wenn du erst mal dahinter gestiegen bist, wie easy das leben mit ihr werden kann ... ----------------------------- programmieren ist wie romane schreiben: erst denkst du dir ein paar typen aus, und dann musst du sehen, wie du mit ihnen klar kommst ...
  12. Ich hoffe, ich habe dich richtig verstanden: Wenn du Koordinaten von Zellen eines Stringgrids suchst, dann "beobachte" doch einfach das Zeichnen des Grids ... Das Ereignis "onDrawCell" der Komponente "TDrawGrid" von dem das StringGrid bekanntlich abgeleitet ist, übergibt dir alle notwendigen Informationen, mit denen du zweifellos alle grafischen Abläufe kontrollieren, steuern und beeinflussen kannst, die dir vorschweben: TDrawCellEvent = procedure (Sender: TObject; ACol, ARow: Longint; Rect: TRect; State: TGridDrawState) of object;
  13. Wenn du Anregungen zum Programmieren suchst, dann tue dich doch mit *KPR* zusammen und schreib' ein Programm, welches das gesamte Wissen dieses Universums ergründen kann ... Wenn du Tutorials und Hilfen suchst, dann schau doch mal hier, hier, hier, hier, hier und hier. wmg, dz ------------------ programming is the only kind of art that fights back ... <FONT COLOR="#a62a2a" SIZE="1">[ 30. Oktober 2001 16:46: Beitrag 1 mal editiert, zuletzt von doublezero ]</font>
  14. Du suchst eine sinnvolle Aufgabe ? Wie wäre es denn mit einem Programm, das alles Wissen dieser Welt dokumentiert ?! wmg, dz PS: Falls du eine adäquate Lösung findest, hast du ausgesorgt, denke ich ...
  15. Sorry, aber ein Programm, das Primzahlberechnungen quasi zum Selbstzweck hat, ist mir nicht geläufig, weil es i.d.R. lediglich EIN Teilproblem darstellt, Primzahlen zu ermitteln. Wie wäre es denn, wenn du diese Aufgabe - natürlich nur so als Fingerübung - selbst schreibst ?! Es ist gewiss nicht allzu schwierig. wmg, dz
  16. Aha, und dein Fahrlehrer war also auch ein A*** weil er dich das Fahren selbst lernen ließ ?! Nein, ist das eine gemeine Welt, in der man auch noch SELBST etwas lernen muss, und nicht alles in mundgerechten Bröckchen serviert - selbstverständlich vorgekaut - bekommt ... Um deine *Bitte* zu beantworten: Es gibt massenhaft (!) Foren, WebSites und Informationen zum Thema VB. Einige Bspe sind nachfolgend aufgelistet: Das VB-Seminar Der VB-Explorer(ausgezeichnete Site) Das moderne Online Visual Basic Magazin Learning Visual Basic Online Visual Basic Tutorials(ein guter Anfang ... viiiiele Links in diverse Richtungen) Visual Basic Books 1001 tutorials VB-Town examware(viele Links zu den verschiedensten Tutorials) guide2web (Links, Links, Links, ...) VB-Bookmark Auch Micro$oft hat - wer mag es glauben - eine ganze Menge zu bieten: Visual Basic Technical Resources ... usw. usf. ... wmg, dz
  17. Um alle Primzahlen "innerhalb einer eingegebenen Zahl" zu ermitteln, gibt es verschiedene Verfahren. Das einfachste - und durchschaubarste - ist das Siebverfahren des Erastosthenes ----------------------------------- Nimm eine (unendliche) Liste aller natürlichen Zahlen > 1. Die erste Zahl der Liste (2) ist eine Primzahl. Nun entfernst du alle Vielfachen von 2 aus dieser Liste. Dann nimmst du die nächstgrößte Zahl (3). Auch diese Zahl müsste dann wohl eine Primzahl sein. Jetzt werden alle Vielfachen von 3 aus dieser Liste entfernt. Die nächste Zahl ist 5. Auch sie ist eine Primzahl ... usw. usf. Dieses Verfahren dauert schöööön lange; ist aber ausgesprochen präzise und "vergisst" keine Primzahl der Liste. Alternativ kannst du auch die normale Division: ----------------- verwenden. Dabei kannst du jede Zahl deiner Liste m durch alle Zahlen n, wobei 2 <= n <= Wurzel(Testzahl) teilen. Wenn der Rest immer größer 0 ist, dann sollte die Zahl wohl prim sein. Das letztere Verfahren lässt sich mit der wheel factorization: -------------------- noch erheblich verfeinern und damit beschleunigen: Nimm eine Liste natürlicher Zahlen m möglicher Teiler der Zahl n, wobei 2 <= m <= Wurzel(Testzahl). Ermittle hier die primen Zahlen, indem du alle Zahlen deiner Liste streichst, die sich durch 2, 3 und 5 teilen lassen. Setze dieses Verfahren für alle verbleibenden Zahlen fort ... Der Vorteil hier ist, dass die zweite Liste parallel zur ersten (der "Test-Liste") wächst und nur einmal errechnet werden muss. Das beschleunigt den Vorgang erheblich, denn spannend werden solche Testverfahren erst bei den richtig großen Zahlen. Wenn du Timer in die Loops hängst, dann kannst du die Dauer deines "Ermittlungsverfahrens" bis zum tick genau bestimmen. wmg, dz PS: Falls du diese Berechnungen für Verschlüsselungsverfahren brauchst: Es gibt andere - leichtere und damit schnellere - Wege des Testens, ob eine bestimmte Zahl prim ist oder nicht. Allerdings bauen diese Verfahren keine integralen Listen auf, sondern testen lediglich selektiv. -------------------- Es gibt zwei unverrückbare Grundsätze auf der Welt: 1. Der Computer nutzt dem Menschen. 2. Die Erde ist eine Scheibe. <FONT COLOR="#a62a2a" SIZE="1">[ 30. Oktober 2001 13:48: Beitrag 3 mal editiert, zuletzt von doublezero ]</font>
  18. doublezero

    RAID...

    Versuche es doch mal auf den Seiten der IHK Darmstadt ... oder hier, oder auch hier ... Naja, und dann auch noch dieses RAID-Portal, oder die LINUX-Implementierung, oder RAID for dummies, oder eben auch der Research-Index; und (nicht zuletzt) solltest du auch noch mal bei der UCLA vorbeischauen. Die haben eine education-search-engine über tausende von Seiten - wenn du da nicht fündig wirst ... Versuche aber auch diese Seite. Dort steht zwar nur eine kurze Erläuterung, aber ganz unten findest du ein Literaturverzeichnis zum Thema. Oder willst du etwas über die Geschichte von Raid wissen ? wmg, dz
  19. Ratespiele ?! Was bitte ist denn "Lib_Ereignis" ?! Kannst du nicht besser sagen, was die Bedingung sein soll, die zur Terminierung des Programmes führen soll, und wir schauen dann gemeinsam, wie wir das hinbekommen ?! Abgesehen davon: Ein Programm wird unter Delphi nur dann korrekt beendet (inclusive der Speicherfreigaben, etc.) wenn du die Funktion Application.Terminate; aufrufst. Diese BASIC-(Un)Sitte einfach das Hauptfenster zu schließen führt hier wie dort nur zu mehr oder weniger großen Speicherlecks ... Um ein .exe-file auszuführen gibt es den Weg über die API-Funktion "shellExecute". Sie ist folgendermaßen deklariert: ShellExecuteA (führt Anwendung aus) hWnd: HWND Operation, Filename, Parameters, Directory: PChar, ShowCmd: Integer oder ShellExecuteW (druckt die angegebene Datei) hWnd: HWND Operation, Filename, Parameters, Directory: PChar, ShowCmd: Integer Für Operation setzt du wahlweise "open", "print" oder "explore" ein. ShowCmd setzt du auf 5(normal), 3 (maximiert) oder 2 (minimiert). Wahlweise kannst du aber auch die einfachere Funktion ShellExecuteExA (ausführen) oder ShellExecuteExW (drucken) verwenden: Dazu deklarierst du zunächst ein TSHELLEXECUTEINFO, dann setzt du es auf einen definierten Wert: FillChar(^TSHELLEXECUTEINFO, Sizeof(^TSHELLEXECUTEINFO), 0), setzt cbSize:= SizeOf(^TSHELLEXECUTEINFO); lpFile:= 'dein .exe-file' und nShow:= (wie bei ShowCmd) ShellExecuteEx(^TSHELLEXECUTEINFO); ... sollte es dann bringen Dazu brauchst du die "shell32.dll" und ein bisschen Fingerspitzengefühl. Einfacher geht es natürlich, wenn du dir eine Komponente besorgst, die diese ganzen API-Aufrufe für dich erledigt, und der du nur die .exe-Datei übergibst. wmg, dz ----------------- Programmieren ist wie Romane schreiben: Erst denkt man sich ein paar Typen aus, und dann muss man zusehen, wie man mit ihnen klarkommt.
  20. Hi "sheriff", was hältst du denn von folgendem Weg: 1. Rechtsklick auf "Netzwerkumgebung" 2. [Eigenschaften] anklicken 3. Rechtsklick auf "LAN-Verbindung" 4. [Eigenschaften] anklicken 5. "Internetprotokoll TCP/IP" auswählen 6. [Eigenschaften] anklicken 7. [Erweitert...] anklicken 8. unter IP-Einstellungen in der Liste "IP-Adressen" beliebig viele IP's samt Subnetzmaske hinzufügen 9. [Ok] anklicken 10., 11. und 12. ... freuen ?! wmg, dz --------------- Egal auf welcher Seite du stehst, diese Seite wird verlieren. Wenn du die Seiten wechselst, wird sich auch das Schlachtenglück wenden ... <FONT COLOR="#a62a2a" SIZE="1">[ 14. Oktober 2001 05:43: Beitrag 2 mal editiert, zuletzt von doublezero ]</font>
  21. Mit "var S: String;" wird S als WideString bzw. ANSIString definiert. Er hat somit keine bezeichnete Länge. Um die Länge der Zeichenkette in S herauszulesen, kann man die Funktion "length" verwenden: X:= Length(S); gibt demnach in X die Länge der Zeichenkette in S zurück ... Um einzelne Zeichen abzuschneiden gibt es m.W. keine eindeutige Funktion. Hier hilft "Copy" aber schon ganz gut: S:= Copy(S, 1, Length(S) -1); schneidet also ein Zeichen von S ab und gibt das Ergebnis in S zurück. Aber auch "StringReplace" ist nicht zu verachten: S:= StringReplace(S, 'x', '', [rfReplaceAll, rfIgnoreCase]); ersetzt einfach alle "x" und "X" in S durch leere Zeichen und löscht sie damit. Das Ergebnis wird dann in S zurückgegeben. Dann wäre da noch "Delete" welches Zeichen oder Zeichenketten löscht: Delete(S, 3, 5); löscht demzufolge also 5 Zeichen beginnend ab dem 3. und gibt das Ergebnis nach S zurück. Schließlich wären da wohl noch die Funktionen "TrimLeft", "TrimRight" und "Trim"; welche führende, nachlaufende sowie führende und nachlaufende Leerzeichen entfernt: S:= Trim(S); entfernt also führende und nachlaufende Leerzeichen, nicht aber Zeichen "in der Mitte". ... oha, ein paar sind's wohl doch wmg, dz <FONT COLOR="#a62a2a" SIZE="1">[ 14. Oktober 2001 04:56: Beitrag 2 mal editiert, zuletzt von doublezero ]</font>
  22. Durch die "Verschlüsselung" als TDate rechnet er korrekt mit den gültigen Daten (wechselnde Monatslänge, Schaltjahre, etc.) it seems to be no problem ... wmg, DZ
  23. Laut MSDN ist die Zwischenablage unter VBS nicht verfügbar. Versuche doch einen anderen Weg. Z.Bsp. den String in einer Variablen speichern, anstatt in der Zwischenablage ... wmg, DZ
  24. Wenn du Netzwerk"arbeit" erledigen willst, kommst du eigentlich nicht an den INDY-Komponenten vorbei. Und um rauszubekommen, welche IP's "aktiv" sind, versuche doch einfach, alle IP's in deinem Subnetz auf einem öffentlichen Port (21, 23, 80) zu connecten. greetings, DZ
  25. Tja, ich will mal versuchen das zusammenzubekommen, allerdings handle ich tendenziell eher instinktiv. Also, wir haben da die 8 Begriffe und eine schicke Grafik Nehmen wir uns die Grafik her, dann sehen wir doch schon mal, dass die "Betriebsfremden" offensichtlich Mitglied einer Klasse sind ... Der wahrscheinlichste Name der Klasse ist "Kunde" oder "Mitarbeiter", die anderen fallen raus. Da der "Betriebsfremde" jedoch wohl kaum Mitglied der Klasse "Mitarbeiter" sein kann, erheben wir den "Kunden" zum Klassennamen K1 und dann bleibt nur noch das 2. Mitglied K2 der Klasse, dem wir nun den übriggebliebenen "Mitarbeiter" zuordnen. Anderherum: Ein "Betriebsfremder" kann zwar "Kunde", jedoch wohl kaum "Mitarbeiter" sein, oder ?! Ok, damit hätten wir das Schlimmste schon geschafft, denn der Rest ergibt sich aus dem Text, in dem dann solche Sachen stehen, wie " ... für Mitarbeiter wird außerdem die Personalnummer und die Abteilung erfasst ... " - was darauf hinweisen soll, dass der "Mitarbeiter" die Eigenschaften "Personalnummer" und "Abteilung" besitzt. Oder " ... erhält der Ausleiher eine eindeutige Kundennummer ... das Datum der ersten Ausleihe festgehalten ... ", da " ... Bücher ... sowohl an Mitarbeiter, als auch an Betriebsfremde ausgeliehen ... " werden, soll dies zwangsläufig bedeuten, dass der "Kunde" Die Eigenschaften "Kundennummer", sowie ein "Entleihdatum" erhält. Wenn du das in deine Struktur einträgst, erhältst du eine wunderschöne und simple Klasse, mit der du dann tolle Sachen anstellen kannst ... Ich wusste doch, die IHK-Prüfungen sind schon richtig drollig. Alle Klarheiten beseitigt ?! enjoy it ... DZ PS: Hast du noch mehr davon ? DZ will mehr Input ... Input --- Putput --- Output ----------------- Egal auf welcher Seite du stehst, diese Seite wird verlieren. Wechselst du die Seiten, wird sich auch das Schlachtenglück wenden ... <FONT COLOR="#a62a2a" SIZE="1">[ 10. Oktober 2001 04:11: Beitrag 1 mal editiert, zuletzt von doublezero ]</font>

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...