amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Suche [ - Suche - Neue Beiträge - Registrieren - Login - ]

Erste << 18 19 20 21 22 -23- 24 25 26 27 28 >> Letzte Ergebnisse der Suche: 2266 Treffer (30 pro Seite)
Thore   Nutzer

06.01.2012, 11:19 Uhr

[ - Direktlink - ]
Thema: Amiga 1200 Monitor. Was gibt es fuer Moeglichkeiten?
Brett: Amiga, AmigaOS 4

VGA Adaptoren sind gut für Multisync Monitore. Also diese, die sowohl 15kHz als auch 31kHz Vertikalfrequenz können.
Das wäre die erste Lösung.

Die zweite Lösung ist ein 2-Monitor-System. Ein Standard Amiga Monitor am RGB Port, und ein VGA Monitor an der Grafikkarte.

Die dritte Lösung wäre ein Scandoubler wie z.B. die Indivision. Damit kannst du das RGB Signal auf einen VGA Ausgang umleiten und damit Standard VGA Monitore betreiben. Mittels KVM oder zweiter Monitor kann auch die Grafikkarte bedient werden.

[ Dieser Beitrag wurde von Thore am 06.01.2012 um 11:19 Uhr geändert. ]
 
Thore   Nutzer

06.01.2012, 11:05 Uhr

[ - Direktlink - ]
Thema: Amiga 1200 Monitor. Was gibt es fuer Moeglichkeiten?
Brett: Amiga, AmigaOS 4

Erstmal sollten wir wissen, was für ein Monitor ist es.
 
Thore   Nutzer

05.01.2012, 22:17 Uhr

[ - Direktlink - ]
Thema: Wieviele Files in Dir?
Brett: Programmierung

Mach einfach ein paar Schreibtischtests, dann siehst du was ich meine
Also ne Menge: 1 2 3 4 5 6 7 8 9 10
dann wahlweise diese Zahlen suchen: 2, 5, 8, 9, 10
Klappt alles mit deinem Algo?
Einfach von Hand mal nachempfinden mit Papier und Stift.
 
Thore   Nutzer

05.01.2012, 21:38 Uhr

[ - Direktlink - ]
Thema: Wieviele Files in Dir?
Brett: Programmierung

Ok, wenn dein Pivot sich ändert, bleibt die Anhahl dennoch gleich? Das wäre nämlich richtig dann. Bei jedem Mal halbiert sich die Anzahl, ungeachtet dessen wo dein Pivot ist.
Probiers aus, scheint klappen zu können.
 
Thore   Nutzer

05.01.2012, 16:34 Uhr

[ - Direktlink - ]
Thema: Wieviele Files in Dir?
Brett: Programmierung

Im Grunde kannst du es "auch einfach so schätzen". Ist allerdings wie erwähnt nicht mehr ganz effizient.

Die neue Mitte kannst du aber auch ausrechnen


[ Dieser Beitrag wurde von Thore am 05.01.2012 um 16:35 Uhr geändert. ]
 
Thore   Nutzer

05.01.2012, 16:15 Uhr

[ - Direktlink - ]
Thema: Wieviele Files in Dir?
Brett: Programmierung

Das Pivot-Element kann man beliebig wählen, allerdings sinkt damit die Effizienz, wenn es nicht die Mitte ist. Im besten Fall findest du schneller, im schlechten Fall langsamer. Mit der Mitte hast Du eben das Optimum.
Bei geraden Anzahlen gibt es keine Mitte, da ist es Dir freigestellt welche der zwei mittleren Elemente Du nimmst.
 
Thore   Nutzer

05.01.2012, 15:06 Uhr

[ - Direktlink - ]
Thema: Wieviele Files in Dir?
Brett: Programmierung

Die Anzahl weißt Du, wenn du sie mitschreibst.
Anzahl / 2 (gerundet) = Pivot

Dieses ist der Index deines mittleren Elements. Wie du das findest, da gibts mehrere Wege, z.B. wie Holger es beschrieb: Pivot mal dein Next aufrufen.
Dieser Index ist dann beim nächsten Schritt der Anfang oder das Ende der neuen Menge (je nach dem ob linke oder rechte Hälfte genommen wurde)

[ Dieser Beitrag wurde von Thore am 05.01.2012 um 15:07 Uhr geändert. ]
 
Thore   Nutzer

05.01.2012, 13:49 Uhr

[ - Direktlink - ]
Thema: Wieviele Files in Dir?
Brett: Programmierung

> Den Suchalgo hab ich noch nicht ganz verstanden.

Ein Beispiel mit Zahlen

Suche der Zahl 8 von 20 sortierten Einträgen:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Nehme das mittlere Element: 11
Vergleiche es mit der 8: Kleiner als 11

Nehme die linke Hälfte da kleiner.

0 1 2 3 4 5 6 7 8 9 10
Nehme das mittlere Element: 5
Vergleiche es mit der 8: Größer als 5

Nehme die rechte Hälfte da größer.

6 7 8 9 10

Nehme das mittlere Element: 8
Vergleiche es mit der 8: gefunden in 3 Schritten.


Ach ja: Du brauchst nicht so viele Dateien zum Testen.
Mach Dir doch ein Fake-Directory im Beispielcode (z.B. ne Textdatei mit tausenden Einträgen) und lese einfach die Strings ein.
So kannst Du den Sortier-Einfüge Algo separat mal testen mit extrem vielen Einträgen ohne die Festplatte vollzumüllen.


[ Dieser Beitrag wurde von Thore am 05.01.2012 um 13:51 Uhr geändert. ]
 
Thore   Nutzer

04.01.2012, 21:40 Uhr

[ - Direktlink - ]
Thema: Wieviele Files in Dir?
Brett: Programmierung

ich meinte relativ anhand der Position. Also die Listen-Einträge. Deine Rows.

[ Dieser Beitrag wurde von Thore am 04.01.2012 um 21:41 Uhr geändert. ]
 
Thore   Nutzer

04.01.2012, 21:35 Uhr

[ - Direktlink - ]
Thema: Wieviele Files in Dir?
Brett: Programmierung

> die Listview holt sich jetzt beim Adden der neuen Zeile von dieser mal eben diese beiden Offsets, und liest dann mit deren Hilfe den Text und die Priorität der schon vorhandenen Zeilen aus!

Öhm ich dachte das wird bereits so gemacht :D Weil relative Objekte in der Regel das Offset des Vorgängers benutzen.
Aber schön wenn du hier optimieren konntest :)
 
Thore   Nutzer

04.01.2012, 20:50 Uhr

[ - Direktlink - ]
Thema: Wieviele Files in Dir?
Brett: Programmierung

ah klar, ist String 2 kürzer, wird $0 mit nem Buchstaben verglichen -> Abbruch
Ist String 1 kürzer findet er $0 -> Abbruch
Sind beide Strings gleich lang findet er von String 1 die $0 -> Abbruch

Code zweimal lesen, dann kommt man drauf ;)

[ Dieser Beitrag wurde von Thore am 04.01.2012 um 20:50 Uhr geändert. ]
 
Thore   Nutzer

04.01.2012, 18:39 Uhr

[ - Direktlink - ]
Thema: Wieviele Files in Dir?
Brett: Programmierung

Checkst du hier nur String1 auf das String-Ende? Was ist wenn String2 vorher aufhört?
 
Thore   Nutzer

04.01.2012, 17:49 Uhr

[ - Direktlink - ]
Thema: Wieviele Files in Dir?
Brett: Programmierung

ok ist es mit Sicherheit die Such-Routine oder vielmehr der Refresh?
Wie suchst du denn? Vollstrings oder intelligent? Also Anfangsbuchstabe, dann 2. Buchstabe, etc?

Wenn Du auf Interpolationssuche umswitchst, wirds dann besser?
 
Thore   Nutzer

04.01.2012, 17:11 Uhr

[ - Direktlink - ]
Thema: Wieviele Files in Dir?
Brett: Programmierung

Mit einem größeren Buffer könnte aber deine Durchlaufzeit kleiner werden... auch an Effizienz denken :) Und wenn dein Mainloop nur alle 40 Dateien tickt, wenn Du sagst in einem kurzen Moment sind 1000 Dateien geladen, ist das ausreichend schnell.
1 finde ich für zu wenig.

Warum bricht es denn ein, Ist es die Such-Routine fürs Einfügen?

[ Dieser Beitrag wurde von Thore am 04.01.2012 um 17:12 Uhr geändert. ]
 
Thore   Nutzer

04.01.2012, 15:23 Uhr

[ - Direktlink - ]
Thema: Wieviele Files in Dir?
Brett: Programmierung

Was hast Du denn als Buffergröße für ExAllControl eingestellt?
 
Thore   Nutzer

03.01.2012, 13:35 Uhr

[ - Direktlink - ]
Thema: Wieviele Files in Dir?
Brett: Programmierung

> Da hast Du etwas grundsätzliches nicht verstanden.
Danke für die Korrektur
 
Thore   Nutzer

31.12.2011, 12:19 Uhr

[ - Direktlink - ]
Thema: Wieviele Files in Dir?
Brett: Programmierung

Kommt drauf an was Du anforderst. Ich hab hier im Demo ED_TYPE verwendet, das reicht mir für die Anzahl. Mit den 20 im Buffer kommt man natürlich nicht so weit, da sist ja nur ein Demo.
Er stoppt automatisch bei der maximalen Anzahl die in den Buffer passen, aufgrund des sizeof im Befehl. Bei einer Anzahl von 20 können maximal 42 Objekte (pro Durchlauf) gefunden werden. Nimmst Du einen Wert von 10000 bist Du schon jenseits des was die meisten in einem Verzeichnis haben.
Mit einer Schleife kannst Du natürlich auch die 20 im Buffer lassen. Das wär für eine Progressbar sogar der saubere Weg.


[ Dieser Beitrag wurde von Thore am 31.12.2011 um 12:20 Uhr geändert. ]
 
Thore   Nutzer

31.12.2011, 11:42 Uhr

[ - Direktlink - ]
Thema: Wieviele Files in Dir?
Brett: Programmierung

ExNext ist durchaus ein üblicher Weg. Es gibt aber noch ExAll.
Vorgehensweise:
1. Verzeichnis locken
2. ExAllControl reservieren
3. ExAll aufrufen (und EAC Struktur damit füllen)
4. eac_Entries enthält Anzahl Dateien
5. ExAllContol free

ungefähr so (Bitte "more" noch prüfen obs gültig ist, hab ich jetzt auf die Schnelle nicht gemacht, aber Du solltest es):

#include <exec/types.h>
#include <stdio.h>
#include <stdlib.h>
#include <dos/dos.h>
#include <dos/exall.h>
#include <dos/dostags.h>



int GetNumFiles(char *directory)
{
struct ExAllControl *eac;
BPTR mylock;
int more;
int num = 0;
struct ExAllData ExAllBuf[20];

if(mylock = Lock(directory, SHARED_LOCK))
{

if (eac = (struct ExAllControl *)AllocDosObjectTags(DOS_EXALLCONTROL,TAG_END))
{
eac->eac_LastKey = 0;
eac->eac_Entries = 0;
eac->eac_MatchString = NULL;
eac->eac_MatchFunc = NULL;

more = ExAll(mylock, ExAllBuf, sizeof(ExAllBuf), ED_TYPE, eac);

num = eac->eac_Entries;

FreeDosObject(DOS_EXALLCONTROL,eac);
return (num);
}
}
}


[ Dieser Beitrag wurde von Thore am 31.12.2011 um 11:44 Uhr geändert. ]
 
Thore   Nutzer

30.12.2011, 19:20 Uhr

[ - Direktlink - ]
Thema: add Node to List sorted Algorithmus
Brett: Programmierung

>Ich weiß auch momentan garnicht, wie ich da schneller als jetzt schon ist immer die Mitten finden kann.

Das ist einfach. Jeder Node bekommt seine Position als ID und du speicherst in der Hauptklasse der Liste (oder der Struct) einfach die Anzahl der Items mit.
Aber wenn es nur für Directories ist, hast du vll maximal 15000 Einträge, da ist sequenzielle/lineare Suche noch erträglich.
Freut mich wenns so klappt.
 
Thore   Nutzer

30.12.2011, 13:40 Uhr

[ - Direktlink - ]
Thema: add Node to List sorted Algorithmus
Brett: Programmierung

Wenn die Liste lang wird, kann auch eine Interpolationssuche in Frage kommen. Du fängst in der Mitte an. Kommt dein Text vorher, dann such im linken Block weiter, kommt er später, im rechten Block. Aus diesem Block suchst du nun wieder die Mitte und dann den linken oder rechten Teil dieses Blocks.
Das geht natürlich nur in sortierten Listen. Aber das ist deine ja ohnehin, wenn du von Anfang an sortierst durch Einfügen.
Der Vorteil ist hier bei langen und sehr langen Listen, weil man mit wenigen Sprüngen zum Ziel kommt.
Bei kurzen Listen ist sequenziell besser, da der Aufwand der Interpolationssuche größer sein kann als das durchforsten weniger Listen-Einträge.

[ Dieser Beitrag wurde von Thore am 30.12.2011 um 13:41 Uhr geändert. ]
 
Thore   Nutzer

29.12.2011, 20:55 Uhr

[ - Direktlink - ]
Thema: Arteffect für OS 4.1 anpassen
Brett: Amiga, AmigaOS 4

Starte ArtEffect in einem eigenen Screen.
Sind die Menus dann immer noch schwarz nach dem Beenden?
 
Thore   Nutzer

28.12.2011, 13:36 Uhr

[ - Direktlink - ]
Thema: filerequester task
Brett: Programmierung

Wenn du nur auf ein Signal warten willst, kannst Du Single nehmen. Wartest du auf bestimmte Signale (z.B. CTRL-C oder mehrere) nimmst du die anderen Signale. Im Grunde kannst Du auch auf Single verzichten. Aber mit Single-Core und Threadsafe hat das nichts direkt zu tun.
Machst Du was an den Signalen falsch, dann kanns sein daß einer nochmal wartet, oder nicht weiß daß ein bestimmtes Signal oder Ereignis bereits eingetreten ist. Abstürzen sollte es jedoch nicht.
Ich vermute vielmehr daß es an der Layout Routine liegt, aldo dem Rendern während du das Fenster veränderst.
 
Thore   Nutzer

28.12.2011, 12:13 Uhr

[ - Direktlink - ]
Thema: filerequester task
Brett: Programmierung

Wenn dus richtig machst gehts schon.
Wenn Du auf mehrere Signale wartest, und auch auf das single Signal, kanns sein, daß ein anderes Signal auftritt, damit springt die Routine aus Wait.
Aber weil Du auch auf Single wartest, ist dieses Bit nicht gecleared, das macht das System hier nicht automatisch. Dieses Single Signal ist dann noch ausstehend.
Auf der Developer CD wird in den Mailings gut darauf eingegangen, was so passieren kann. Hier ist eine Online Kopie:
http://amigadev.elowar.com/read/ADCD_2.1/AmigaMail_Vol2_guide/node0089.html
 
Thore   Nutzer

28.12.2011, 11:36 Uhr

[ - Direktlink - ]
Thema: filerequester task
Brett: Programmierung

Hast Du das Signal gecleard mit
SetSignal(0L, SIGF_SINGLE);
bevor Du Wait aufrufst?
Außerdem sollte da das Programm nicht auf andere Signale warten. Sonst wirds problematisch (z.B. das Wait wacht auf und Single ist noch ausstehend)
Vorteil von Single ist wenn du nur auf ein Signal wartest, und es nicht vorher alloziieren willst (Single ist immer allocated)
 
Thore   Nutzer

26.12.2011, 18:09 Uhr

[ - Direktlink - ]
Thema: shared libraries
Brett: Programmierung

An dieser Stelle mache ich mal bisschen Werbung für JAmiga2 ;)
Hier sind auch shared libs die sich auf OS4 compilieren lassen, mit Sourcecode.
 
Thore   Nutzer

26.12.2011, 17:01 Uhr

[ - Direktlink - ]
Thema: shared libraries
Brett: Programmierung

Mach doch ne stinknormale .library
Du bist doch in der Amiga Welt.
 
Thore   Nutzer

26.12.2011, 16:14 Uhr

[ - Direktlink - ]
Thema: shared libraries
Brett: Programmierung

Was möchtest du einlinken? Eine Shared Lib oder die Funktionen?
Bei was sagt der Linker, daß die Funktionen nicht referenziert sind? Bei deiner Lib oder bei deinem Programm, das die Lib nutzen soll?
 
Thore   Nutzer

26.12.2011, 11:03 Uhr

[ - Direktlink - ]
Thema: rekursiv make mit for?
Brett: Programmierung

Der Befehl "for" existiert in deiner Umgebung nicht.
Hast Du die Linux Shell installiert? Dann vorher mit
sh
starten. Dann make aufrufen. Hier sollte die Schleife klappen.
 
Thore   Nutzer

25.12.2011, 20:57 Uhr

[ - Direktlink - ]
Thema: Beste IDE fuer OS 4.1
Brett: Programmierung

Z.B. CubicIDE, GoldEd oder Scintilla?
 
Thore   Nutzer

25.12.2011, 19:20 Uhr

[ - Direktlink - ]
Thema: filerequester task
Brett: Programmierung

wie ich es verstanden hab, zeichnest du jeden Node mehrmals, je nachdem wieviele Nodes kommen. Also so:
1, 1-2, 1-2-3, 1-2-3-4, 1-2-3-4-5 etc pp
Also sind das n(n+1) / 2 Durchläufe.
Bei 5 Nodes sind das 5*6 / 2 = 15 Nodes Refresh
Bei 100 Nodes sind das 100*101 / 2 = 5050 mal Nodes Refresh.
Bei 1000 Nodes sind das 1000*1001 / 2 = 500500 Nodes Refresh

Du siehst wie schnell das explodiert. Du solltest eine Möglichkeit suchen, die Nodes nicht mehrmals zu refreshen, wenn nicht nötig, und nur die zu zeichnen die auch sichtbar sind.
 
 
Erste << 18 19 20 21 22 -23- 24 25 26 27 28 >> Letzte Ergebnisse der Suche: 2266 Treffer (30 pro Seite)

Suchbegriffe
Schlüsselwörter      Benutzername
Suchoptionen
Nur in diesen Foren suchen
   nur ganze Wörter
Nur Titel anzeigen
alle Treffer anzeigen

.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.