
Peregrin
Mitglieder-
Gesamte Inhalte
236 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von Peregrin
-
hi, lt. java-almanac funktioniert es folgendermassen: // If expand is true, expands all nodes in the tree. // Otherwise, collapses all nodes in the tree. public void expandAll(JTree tree, boolean expand) { TreeNode root = (TreeNode)tree.getModel().getRoot(); // Traverse tree from root expandAll(tree, new TreePath(root), expand); } private void expandAll(JTree tree, TreePath parent, boolean expand) { // Traverse children TreeNode node = (TreeNode)parent.getLastPathComponent(); if (node.getChildCount() >= 0) { for (Enumeration e=node.children(); e.hasMoreElements(); ) { TreeNode n = (TreeNode)e.nextElement(); TreePath path = parent.pathByAddingChild(n); expandAll(tree, path, expand); } } // Expansion or collapse must be done bottom-up if (expand) { tree.expandPath(parent); } else { tree.collapsePath(parent); } } müsstest halt noch auf knotenebene 2 einschränken beim zusammenfalten... hth...
-
hi, ich hoffe, dich richtig verstanden zu haben: du möchtest einen (oder mehrere) wert(e) und die anzahl datensätze dazu auslesen? select spalte1, spalte2, count(*) from tabelle group by spalte1, spalte2sollte das ergebnis bringen. hth
-
hi, was mir dazu spontan einfällt: 30 -> drei "zig" 70 -> sieben "zig" oder wie?? imho geht es nicht... man schreibt ja auch normalerweise nur zahlen bis zwölf aus. wofür brauchst du das denn?
-
hi, hmmm, ich fände es sauberer, wenn man durch die buttons iteriert und den gewünschten löscht. for each btn in Commandbars("Standard").Controls if(btn.caption = "deine überschrift")then btn.delete 'oder wie auch immer das geht... exit for end if next sonst gibt es ein problem, wenn der 7. button mal was anderes ist... hth...
-
hi, select nn, count(id) from tab group by nn liefert den nachnahmen und die anzahl nennungen in der tabelle hth ... [edit] mit having count(id) > 1 kommen nur die einträge mit mehrfachnennungen [/edit]
-
hi, entweder in dezimalwerte umwandeln, oder nur die minuten als numerischen wert speichern. damit kannst du dann rechnen. die umformung in ein darstellbares format bleibt dir dann allerdings nicht erspart... hth
-
hi, hoffe, ich hab das richtig verstanden... select count(*) from tabelle t1 where t1.name = 'A' and exists ( select 1 from tabelle t2 where t2.name = 'B' and t2.stop < t1.start and to_char(t2.start, 'DD.MM.YYYY') = to_char(t1.start, 'DD.MM.YYYY') ) sollte die anzahl der einträge mit namen 'A' aus tabelle liefern, zu denen es einen eintrag in tabelle mit namen 'B' gibt, welcher am gleichen tag gestartet wurde aber vor dem 'A' geendet ist. hth...
-
hi, wenns auch ein textfield sein darf, hilft evtl das hier. mit dem format "0" sollte deine eingabe abgefangen werden können. hth...
-
hi, falls es nur um das schliessen des formulars geht, dann benutze doch das ereignis form_unload. in diesem kannst du ein flag abfragen, welches du nur beim click auf deinen "schliessen-knopf" setzt... ansonsten gibt es noch die eigenschaft controlbox, allerdings schaltet die auch das minimieren / maximieren ab. hth
-
SQL-Abfrage: Inhalt eines Textfeldes sortieren
Peregrin antwortete auf ChrisDaHub's Thema in Datenbanken
hi, was auch funktionieren sollte: select * from tabelle order by to_date(spalte, 'HH24:MI') habs aber nicht getestet... hth -
hi, mit CommonDialog1.Filter = "[I]*.txt (Textdateien)[/I]| [COLOR=blue]*.txt[/COLOR]" werden nur textdateien angezeigt. dabei ist *.txt (Textdateien) das was im Dialog angezeigt wird, und *.txt der eigentliche filter. das ganze wird mit pipe ( = "|" ) getrennt hth...
-
hi, ok, zum mitdenken für mich: soll die excel-tabelle erweitert werden, oder mit jeder datei eine neue tabelle erstellt werden? bei neuen tabellen funktioniert der ansatz (s. link oben) ganz gut. wenn die bestehende excel-tabelle erweitert werden soll, müsste man die spaltenüberschriften abgleichen und erst die tabelle erweitern / reduzieren um danach den ansatz von oben durchexerzieren. allerdings darf man dann nicht mit der zelle A1 beginnen sondern mit der zelle in der ersten spalte in der letzten+1 spalte zeile. hoffe, das war versändlich, ansonsten fragen...
-
hi, hilft dir das evtl? hth
-
hi, ich weiss ja nicht, der ganze illuminaten-paranoia-23 kram ist als film ja recht nett, aber nachdem ich "das foucaultsche pendel" von eco gelesen hatte, konnte ich darüber eigendlich nur noch lächeln. ist schon genial wie in dem buch ein zeitungkiosk in den weltplan des templerordens aufgrund seiner abmessungen eingebaut wird... gerade die zahlenmystiker können sich doch alles zurechrechnen nur meine bescheidene meinung...
-
ok, das hab ich in deinem post glatt überlesen... :floet:
-
hi, man kann sehr wohl "normale" formulare in einer dll verwenden. lediglich der aufruf des formulars muss gekapselt sein: in der dll eine klasse definieren, welche das formular zur anzeige bringt. diese klasse kann dynamisch geladen werden und das formular anzeigen. so haben wir z.b. eine anwendung, deren programmteile sich in 6 dlls verteilen, wobei jede einzelne dll ein in sich geschlossenes programm beinhaltet. hth...
-
hi, also bei mir ergibt folgender code cal.set(Calendar.YEAR, 2003); cal.set(Calendar.MONTH, 0); cal.set(Calendar.DAY_OF_MONTH, 31); System.out.println(cal.getTime().toString()); cal.add(Calendar.MONTH, 1); System.out.println(cal.getTime().toString()); folgende ausgabe: Fri Jan 31 19:10:46 CET 2003 Fri Feb 28 19:10:46 CET 2003 also imho korrekt... welches jdk benutzt du? wir haben 1.4 im einsatz. weiss allerdings nicht ob das in 1.3 evtl anders war. afair lieferte die methode calendar.roll(int field, int amount) saubere ergebnisse in 1.3 hth
-
Access 2000 Standardwert in Kombinationsfeld festlegen
Peregrin antwortete auf AQUAGIRL2802's Thema in Datenbanken
hi, in einer combobox wird der wert angezeigt, welcher in der eigenschaft text festgelegt wurde, hoffe, das war was du wissen wolltest... -
hi christian, danke erstmal für die antwort. ich muss gleich sagen, ich bin kein dba und kenne mich mit dem dbms oracle auch eher aus sicht der anwendungsentwicklung aus. die hit ration habe ich noch nicht überprüft, war mir bis gerade eben auch kein wirklicher begriff. die ios habe ich über den systemmonitor festgestellt. da es hier um plattenzugriffe geht, vermute ich, dass es physical ios sind. über das tunen der statements muss ich mir erst noch einige gedanken machen (habe nur einen teil der anwendung selber entwickelt, den rest von kollegen üernommen) ich vermute, du meinst den shared pool vergrössern? den large pool habe ich wieder abgeschaltet und der shared pool vergrössert. das hat auch wirkung gezeigt. auf die 110 mb speicherbelegung im large pool kam ich durch auswertung der v$sgastat während eine abfrage lief. dort war der freie platz mit 40mb angegeben (150mb - 40mb = 110 mb) die ios sind weniger geworden, soweit richtig. allerding nicht völlig verschwunden. sind aber auch momentan nicht mehr im kritischen bereich. ca 1 sort-to-disc gegen 120 sort-in-memory (aus der v$sysstat). bugfixes werde ich mal überprüfen. nochmals danke, und wenn ich was herausfinde, melde ich mich... :-)
-
hi, aus der access-hilfe durch suchen nach transaktion: damit kannst du sicherstellen, dass niemand in die angelegte temporäre tabelle einen datensatz einträgt, und du definitiv den von dir zuletzt eingefügten datensat mit "select max(id)" bekommst... transaktionen manuell starten (ebenfalls aus der access-hilfe): sollte das gewünschte ergebnis bringen...
-
hi, entweder mittels "select test_id from test where vorname = 'Micha' and nachname = 'K'" oder mittels "select max(test_id) from test" wobei bei der zweiten möglichkeit sichergestellt sein muss, dass nicht in der zwischenzeit ein anderer datensatz eingefügt wurde... hoffe, es hilft...
-
hi, umgebung: os aix 4.3 dbms oracle 804 problem: auf unserem datenbankserver wollte ich aus tuning-gruenden das speicher-verhalten optimieren. da bei grossen abfragen viele io-zugriffe durchgefuehrt wurden, habe ich den "shared pool" vergroessert, einen "large pool" und eine sort_area angelegt. aus der ini-datei: shared_pool_size = 48000000 LARGE_POOL_SIZE = 150000000 SORT_AREA_SIZE = 16000000 SORT_AREA_RETAINED_SIZE = 0 mit diesen einstellungen gab es keine io-zugriffe mehr, aber es kam nach einiger zeit zu nicht mehr freigegebenem speicherplatz im large pool ausserdem wurden bei einigen abfragen bis zu 110 mb speicher belegt. bei zwei grossen abfragen gleichzeitig kommt die fehlermeldung "ora-04031, unable to allocate 4160 bytes of shared memory" durch vergroesserung des shared_pool kann dies umgangen werden, aber da physikalisch nicht mehr hauptspeicher zur verfügung steht, paged er dann wieder und erzeugt io-zugriffe. nach dem zuruecksetzten der large_pool- und sort_area-werte laeuft die db (bisher) wieder stabil. frage: hat jmd schon einmal aehnliche erfahrungen gemacht? gibt es einstellungen, welche ich noch vornehmen kann, um die db dazu zu bekommen, abfragen im hauptspeicher durchzufuehren? danke im voraus
-
hi, kann es denn sein, dass du zwei datensätze hast, die komplett identisch sind bis auf den pk? (das klingt fuer mich nach einem design-fehler...) wenn nicht, hast du doch die restlichen attribute des eingefügten datensatzes und kannst dir den pk zu diesem zurückgeben lassen. alternativ (nur wenn transaktionssicherheit gewaehrleistet ist) kannst du dir den maximal-wert der pk-spalte ausgeben lassen. dies ist der zuletzt eingefügt datensatz... hoffe, es hilft...
-
hi, es muesste ein key_pressed oder key_down ereignis geben. in diesem kannst du den key_code anfragen ( =vbEnter oder so aehnlich) hoffe, es hilft...
-
hi, wenn man die funktion potenz so schreibt, wie si mathematisch definiert ist, geht das ganze recht einfach... private int potenz(int base, int exp){ int ret = base; if(exp == 0){ // x^0 is defined as 1 return 1; } for (int i = 1; i < exp; i++){ ret = ret * base; } return ret; } ich glaub das geht nur fuer positive zahlen, habs aber nicht ausprobiert... diese funktion einfach mit der (angegebenen) basis 10 mal mit jeweils erhoehtem exponenten aufrufen und es werden die korrekten potenzen zurueckgegeben. hoffe, es hilft...