Month of BlitzMax Bugs

Übersicht Sonstiges Smalltalk

Gehe zu Seite 1, 2, 3  Weiter

Neue Antwort erstellen

hamZta

Administrator

Betreff: Month of BlitzMax Bugs

BeitragMi, Mai 02, 2007 19:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Leute!

Nachdem im Chat ein bisschen darüber gesprochen wurde, versuche ich nun hier ein kleines Projekt zu starten. Vielleicht kennt der eine oder andere bereits diverse "Month of XY Bugs"-Versuche (wie zum Beispiel Month of PHP Bugs oder Month of Apple Bugs).

Wie der Titel bereits sagt, möchte ich genau dasselbe für BlitzMax erreichen.
Um es übersichtlicher zu gestalten, ein kleines Frage-Antwort-Spiel:

WAS?
Ich möchte das Konzept "Month of XY Bugs" auf BlitzMax anwenden, sprich einen Monat lang täglich Bugs der Sprache in einem Subforum im Portal posten.
Da sich BlitzMax doch noch in Entwicklung befindet, möchte ich mich nicht nur auf Bugs, sondern auch auf Designschwächen festlegen.
Also: Einen Monat lang täglich eine oder mehrere Schwächen von BlitzMax veröffentlichen

WOZU?
Vielleicht hat der eine oder andere MOPB oder MOAB mitverfolgt. Das Ziel solcher Veranstaltungen ist simpel: Man will den Entwicklern mal "sagen" was stört, was hakt und was man besser machen könnte. Der Weg dabei ist das Besondere daran: Es ist öffentlich, jeder kann seine Kommentare dazu abgehen und es besteht keine Gefahr, dass die ganzen Anregungen in irgendeinem Forum untergehen.
Wichtig: Ich will damit nicht mit dem Finger auf Mark zeigen um sein Produkt schlecht zu machen, ich will helfen es zu verbessern (und hoffe natürlich, dass Mark das ganze ernst nimmt Wink )

WANN?
Geplant ist, dass der Mai zum Sammeln und Aufbereiten und der Juni zum Veröffentlichen der Schwächen genutzt wird. Das Subforum werde ich somit Ende Mai / Anfang Juni freigeben.

WIE KANN ICH HELFEN?
Neben Fehlern die uns alle stören hat natürlich jeder so seine "eigenen" Macken an BlitzMax entdeckt.
Deshalb bitte ich euch, mir alle Fehler und Designschwächen (das geht von der Sprache über die Module bis hin zum generellen Aufbau, sprich syncmods etc.) als PN mitzuteilen. Veröffentlicht werden eure Entdeckungen dann natürlich unter eurem Namen.
Bitte haltet euch dabei an folgenden Aufbau:

  • Zusammenfassung der Schwäche in einem Satz
  • Ausführliche Beschreibung (ev. mit kleinen Codebeispielen, um die Fehler nachbauen zu können)
  • Bei Fehlern an der Sprache bzw. an den Modulen selbst ist immer ein Quelltext beizulegen


Achtung:
- Bitte achtet darauf, immer die aktuellsten Versionen der Sprache / der Pakete zu nutzen.
- Beachtet, dass die Module die ihr prüft von BRL verwaltet sein müssen. Module Dritthersteller sind NICHT zu melden!

Wichtig:
Da das Projekt für Mark gedacht ist, ist alles Englisch zu halten. Sollte sich jemand nicht zutrauen, die Beschreibungen in dieser Sprache zu verfassen, werden ich (oder andere) diese übersetzen.

Eine kurze Bitte: Ich bin für jede Unterstützung dankbar, sei es für Übersetzungen, Meldungen oder Anregungen! Generell würde ich mich über rege Beteiligung eurerseits freuen, alleine werde ich es nicht schaffen.

Denkt daran: BlitzMax hat das Zeug dazu eine gute Sprache zu werden, ihr benutzt sie - also helft auch, sie besser zu machen!

Vielen Dank, ich hoffe, wir können damit etwas erreichen!

Mit freundlichen Grüßen,
Fabian alias hamZta

edit: Der Dee, der Dee Wink Das Ganze wird nicht in einem Blog sondern hier im Portal stattfinden, um ihm den "Stempel" der deutschen Community aufzudrücken. Danke, D2006!
Blog.
  • Zuletzt bearbeitet von hamZta am Mi, Mai 02, 2007 23:48, insgesamt einmal bearbeitet

TheShadow

Moderator

BeitragMi, Mai 02, 2007 20:10
Antworten mit Zitat
Benutzer-Profile anzeigen
erstmal gute Idee - aber das sollte nicht still veröffentlicht werden - weil es dann einfach untergehen wird...

Mein Beitrag dazu:
Ich habe es zwar schon Mark gemeldet - aber er meinte es wäre vom Design her extra so vorgesehen... man kann sich streiten, ob es gut oder schlecht ist - ich finde es einfach nur falsch - da es in jeder anderen Sprache (C, C++, QB, BB2D, BB3D, BB+, PB?, VB?) richtig funktioniert - aber nicht in BlitzMax!!!



FOR-loop irgnore changes in end-value. BlitzMax interpret "array.length-1" as constant value. This code do not work correct in BlitzMax - but smilar code should work in any other programming language (C, C++, BB2D, BB3D, BB+, PB?, VB?)

Code: [AUSKLAPPEN]
Local array:Int[100]
For i=0 To array.length-1
   Print array[i]
   array=array[..array.length-1]
Next
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

hamZta

Administrator

BeitragMi, Mai 02, 2007 20:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank für deinen Beitrag, TheShadow!

Das mit den PNs ... die Bugs werden definitiv nicht untergehen, da sie im Juni Tag für Tag veröffentlicht werden. Im Juni ist die Zeit, über einzelne Schwächen zu diskutieren, jetzt soll erstmal gesammelt werden.

Dieser Thread soll lediglich für Anregungen & Kritik zum MOBMB sein.

mfg,
hamZta

edit: Meinung geändert Wink
Blog.

Artemis

BeitragMi, Mai 02, 2007 21:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Warum nicht hier posten?

Ist doch dumm, wenn 3 Leute das gleiche schreiben und sich dafür noch Mühe machen, ein gutes Codebeispiel zu schreiben usw., da man ja nicht weiß, was schon gepostet wurde.
 

ChristianK

BeitragMi, Mai 02, 2007 21:20
Antworten mit Zitat
Benutzer-Profile anzeigen
hamZta hat Folgendes geschrieben:
edit: Meinung geändert Wink

Ich geh jetzt mal davon aus, dass ich den "Bug" hier posten soll. Wink

Kein wirklicher Bug, aber eine etwas störende Designschwäche in brl.dxgraphics und brl.glgraphics:

Code: [AUSKLAPPEN]
The graphics window created with 'Graphics' should be centered in the screen.

@TheShadow
he, she, it: Das "s" muss mit. Wink

aMul

Sieger des Minimalist Compo 01/13

BeitragMi, Mai 02, 2007 23:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hoffe das mein unqualifizierter Post keinen stört, aber ich wollte anmerken, dass ich es klasse finde, das ihr euch hinsetzt und diese ganze Arbeit freiwillig macht "nur" damit BlitzMax "besser" wird. Großes Lob und Respekt von mir Smile
Ich habe und kann leider kein BlitzMax, sonst hätte ich gerne geholfen Bugs zusammenzutragen...

@PGC:
"ON the screen" Wink
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver

hamZta

Administrator

BeitragMi, Mai 02, 2007 23:57
Antworten mit Zitat
Benutzer-Profile anzeigen
ProGamer.Coder hat Folgendes geschrieben:

Kein wirklicher Bug, aber eine etwas störende Designschwäche in brl.dxgraphics und brl.glgraphics:

Code: [AUSKLAPPEN]
The graphics window created with 'Graphics' should be centered in the screen.


Hm. So eine richtige Designschwäche ist das in meinen Augen nicht ... aber es wäre oft ganz praktisch, wenn man die Koordination des Fensters festlegen kann. Ich wühle mich noch ein bisschen durch den Source und werde es dann aufnehmen

hamZta
Blog.

Hummelpups

BeitragDo, Mai 03, 2007 0:01
Antworten mit Zitat
Benutzer-Profile anzeigen
- Slicing
- LValues


Also ich finde das komplette Slicing sollte immer einen String zurück geben.

Ist auch wieder auslegungssache wie es eben besser gefällt.

test[X] gibt den ASCII Code zurück und test[X..Y] den String, logisch
das beim letzteren nicht einfach ein Code zurückgeliefert werden kann,
dann kann man aber auch die einzelnen Chars als String zurück geben.

Was haltet ihr davon?



Und wie siehts hiermit aus?

Code: [AUSKLAPPEN]
punkte1=100
punkte2=100
punkte3=100

If(punkte1=punkte2=punkte3) Then
   Print "_"
End If


Gut, in diesem Fall lässt es sich über ein & lösen aber spätestens bei
Strings funzt diese Methode nicht mehr.

Code: [AUSKLAPPEN]
Local txt1:String="Hallo"
Local txt2:String="Hallo"
Local txt3:String="Hallo"

If(txt1=txt2=txt3) Then
   Print "1"
End If


Fragt mich nicht wofür man das braucht, ist mir nur gerade in den Sinn gekommen.

Die Reihenfolge in der die Kette aufgelöst wird ist nirgends festgelegt und
aus diesem Grund wurde es wohl auch nicht implementiert.

Hier nochmal ein Beispiel für das LValue Problem:

Code: [AUSKLAPPEN]
Local punkte:Int

If(punkte=Getscores()>=100)
   Print "Level geschafft"
End If

Function GetScores:Int()
   Return 150
End Function


Es kann sein, dass das hier totaler Schwachsinn und unübersichtliches
Coden ist aber mir hat dieses Feature schon einige Male gefeht Sad

IMurDOOM
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus

Rone

BeitragDo, Mai 03, 2007 1:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin,
mich stört es enorm, dass alle attribute automatisch Public sind. Ich weiß nicht wie es euch geht, aber früher oder später fang ich meistens an völlig dämliche Sachen zu machen, weil mir einfach die nötige disziplin fehlt...
Außerdem kommt es ja nicht selten vor, dass methoden nicht für den externen gebrauch gedacht sind. Desweiteren finde ich, dass Konstruktoren Parameter haben sollten und zusätzlich auch Funktionsüberladung unterstützt werden soll...

Ich stelle mir das folgendermaßen vor:
Code: [AUSKLAPPEN]
Type TBla

   Private:
   
      Global bsss:TList
   
      Field Bli:Int
      Field Bla:Int
      
      Method blub()
      End Method
   
   
   Public:
   
      Method New(Blub:Int)
      End Method
      
      Method New(Bli:Int, Bla:Float, Blub:String)
      End Method      

End Type

Einfach wie in c++. Kann doch nicht so schwer sein...
Achja, 100%tige Pointer unterstützung wäre auch nich schlecht...
Oh, und Methoden-pointer, fände ich auch gut.
Sind zwar alles keine Bugs, aber egal...
 

E. Urbach

ehemals "Basicprogger"

BeitragDo, Mai 03, 2007 8:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Bisher waren das ja nur Feature Requests und kein einziger Bug...trotzdem möchte ich mich dazu äußern:

Zitat:
FOR-loop irgnore changes in end-value. BlitzMax interpret "array.length-1" as constant value. This code do not work correct in BlitzMax - but smilar code should work in any other programming language (C, C++, BB2D, BB3D, BB+, PB?, VB?)

Ich hatte das eher als Feature betrachtet.
Das ganze hat natürlich einen Performance-Hintergrund, damit BMax nicht wie BB einen konstanten Wert immer wieder neu laden muss.
Allerdings:
Ich stimme dir insofern zu, dass der BMax Compiler zumindest erkennen sollte, ob es sich um einen konstanten Wert handelt. Wenn ja, dann soll er so vorgehen, wie bisher. Wenn nein, sollte er wissen, dass es sich um einen dynamischen Wert handelt und die Schleife im Assembler-Code entsprechend verändern.
Wenn ich mich nicht irre, nutzen die meisten C++ Compiler dieses Verfahren.
Vielleicht war Mark auch einfach nur zu faul, dies zu implementieren Wink
Zitat:
The graphics window created with 'Graphics' should be centered in the screen.

Aus welchem Grund sollte man einem Graphics-Fenster Koordinaten übergeben können? In meinen Augen wäre das ein unnötiges Feature...nur meine Meinung Wink
Zitat:
Also ich finde das komplette Slicing sollte immer einen String zurück geben. [...] dann kann man aber auch die einzelnen Chars als String zurück geben.

Auf gar keinen Fall! Dann würde ja zwangsmäßig jeder Array-Zugriff über den Index ein neues String-Objekt erzeugen, das würde meinen schnellen Highlighting-Algorithmus zunichte machen. Es ist eben schneller, zwei Integer zu vergleichen, als String-Konstruktor aufrufen und dann in die String-Vergleichsfunktion von BB zu "springen". Wenn du einen String brauchst, dann bitte explizit per Chr() oder String().
Zitat:
- LValues

Da muss ich dir recht geben.
Ist fast schon so, als ob der Vergleichsoperator void zurückliefern würde Wink
Es ist nervig und vor allem nicht gut für die Performance, wenn man für jedes noch so kleine Ergebnis eine neue Variable anlegen muss.
Leider hat Mark Sibly immer noch denselben Operator für Zuweisung und Vergleich in BMax belassen, weshalb dein vorheriges Beispiel nicht klar zu interpretieren ist:
Code: [AUSKLAPPEN]
Local punkte:Int

If(punkte=Getscores()>=100)
   Print "Level geschafft"
End If

Function GetScores:Int()
   Return 150
End Function

Als Leser würde ich es auf den ersten Blick so verstehen, dass Getscores:Int() an punkte zugewiesen wird. Dann wird punkte mit 100 verglichen.
Als Compiler würde ich aufgrund derselben Operatorenzeichen denken, dass punkte mit Getscore() verglichen wird. Dieser boolean-Wert wird anschließend mit 100 verglichen, was absolut keinen Sinn macht.
Entweder das == Zeichen wie in C++ für den Vergleichsoperator einsetzen, oder das Feature gar nicht implementieren. Da Mark Sibly "aus Kompatibilitätsgründen" das Operatorzeichen wahrscheinlich nicht ändern wird, kann dieses Feature nicht realisiert werden.
Zitat:
mich stört es enorm, dass alle attribute automatisch Public sind. Ich weiß nicht wie es euch geht, aber früher oder später fang ich meistens an völlig dämliche Sachen zu machen, weil mir einfach die nötige disziplin fehlt...

Wenn du Implementation Hiding oder gar Public/Private-Attribute inkl. korrekter Vererbung haben willst, dann hast du mit BMax eindeutig die falsche Sprache gewählt. BMax ist für so etwas nicht ausgelegt und einen kleinen, wenn aber feinen Performance-Vorteil hat es schon: Der Sprung in die Funktion. Ich weiß, klepto2 würde mich für diesen Satz erwürgen, aber ich sagte ja, es ist nur ein kleiner Vorteil gegen einen großen Nachteil Wink
Zitat:
Außerdem kommt es ja nicht selten vor, dass methoden nicht für den externen gebrauch gedacht sind. Desweiteren finde ich, dass Konstruktoren Parameter haben sollten und zusätzlich auch Funktionsüberladung unterstützt werden soll... [...] Achja, 100%tige Pointer unterstützung wäre auch nich schlecht...
Oh, und Methoden-pointer, fände ich auch gut.

Träum weiter... Wink
Zitat:
Einfach wie in c++. Kann doch nicht so schwer sein...

Und wieso benutzt du nicht einfach C++?
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik

Jan_

Ehemaliger Admin

BeitragDo, Mai 03, 2007 8:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Linux + BmaxGui

unter Linux kann mann kein Parent auf ein Pannel setzten,
weil sonst es keine Eingabe Akzeptiert.
das geht jedoch bei windows nciht, weil sonst das Gadget hinter dem Pannel ist.

Take a look @ this (mit Problemlösung):
Code: [AUSKLAPPEN]
   
window=CreateWindow("buggy",0,0,600,400)
sidepannel=CreatePanel(0,0,190,ClientHeight(window),window,PANEL_ACTIVE|PANEL_BORDER)
sidepannel.SetColor(192 , 192 , 192)
?Linux
tabber=CreateTabber(0,200,ClientWidth(sidepannel),ClientHeight(sidepannel)-200,window)
?Win32
tabber=CreateTabber(0,200,ClientWidth(sidepannel),ClientHeight(sidepannel)-200,sidepannel)
?MacOS
tabber=CreateTabber(0,200,ClientWidth(sidepannel),ClientHeight(sidepannel)-200,window)
?
SetGadgetLayout tabber,1,0,1,1

AddGadgetItem tabber,"blub",False,-1,""
AddGadgetItem tabber,"bla",False,-1,""
AddGadgetItem tabber,"Boing",False,-1,""
between angels and insects

Abrexxes

BeitragDo, Mai 03, 2007 21:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe im Jahre 2007 immer noch kein hauseigenes 3D. Ist das ein Bug oder ein Feature. Oder darf man darüber nicht reden das hier ein Bock geschossen wurde und alles in weite Ferne gerückt ist?

Wenn Ihr also dem guten Mann schon was schreibt, dann soll er dafür sorgen das alles was 2005 an die Glocke geklebt wurde im Jahre 2007 mal so langsam Sache wird. Denn sonst wird bald keiner mehr Blitz"MAX" brauchen. XNA läst grüssen.

cu

mahe

BeitragDo, Mai 03, 2007 22:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Entwicklungsumgebung für Linux ist ein einziger rießiger Bug.
Sie ist hässlich und funktioniert nicht richtig.
ʇɹǝıdɯnɹɹoʞ ɹnʇɐuƃıs - ǝpoɥʇǝɯ-ɹoɹɹıɯ ɹǝp uı ,ɹoɹɹǝ,

hamZta

Administrator

BeitragDo, Mai 03, 2007 23:20
Antworten mit Zitat
Benutzer-Profile anzeigen
mahe hat Folgendes geschrieben:
Die Entwicklungsumgebung für Linux ist ein einziger rießiger Bug.
Sie ist hässlich und funktioniert nicht richtig.


Und du glaubst, Mark weiß, was zu tun ist wenn wir ihm das so vorlegen?

Ich bin ja für deine Mitarbeit dankbar, aber bitte halte dich auch wie die anderen an die Vorgaben.

Achja! Jan_: Kannst du bitte ein funktionierendes Beispiel zur Verfügung stellen? Danke!

Danke,
hamZta
Blog.

mahe

BeitragDo, Mai 03, 2007 23:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Er hat ja für Windows auch etwas halbwegs brauchbares hinbekommen also weiß er anscheinend was zu tun wäre.
ʇɹǝıdɯnɹɹoʞ ɹnʇɐuƃıs - ǝpoɥʇǝɯ-ɹoɹɹıɯ ɹǝp uı ,ɹoɹɹǝ,

Jan_

Ehemaliger Admin

BeitragMo, Mai 07, 2007 8:34
Antworten mit Zitat
Benutzer-Profile anzeigen
mal als etwas erweitertes Beispiel:

Code: [AUSKLAPPEN]
SuperStrict

Local window:tgadget=CreateWindow("buggy",0,0,600,400)
Local sidepannel:tgadget=CreatePanel(0,0,190,ClientHeight(window),window,PANEL_ACTIVE|PANEL_BORDER)
sidepannel.SetColor(192 , 192 , 192)
Local tabber:tgadget
?Linux
tabber=CreateTabber(0,200,ClientWidth(sidepannel),ClientHeight(sidepannel)-200,window)
?Win32
tabber=CreateTabber(0,200,ClientWidth(sidepannel),ClientHeight(sidepannel)-200,sidepannel)
?MacOS
tabber=CreateTabber(0,200,ClientWidth(sidepannel),ClientHeight(sidepannel)-200,window)
?
SetGadgetLayout tabber,1,0,1,1

AddGadgetItem tabber,"blub",False,-1,""
AddGadgetItem tabber,"bla",False,-1,""
AddGadgetItem tabber,"Boing",False,-1,""

While True
   WaitEvent
   Print CurrentEvent.ToString()
   Select EventID()
      Case EVENT_WINDOWCLOSE
         End
   End Select
Wend
between angels and insects

BladeRunner

Moderator

BeitragMo, Mai 07, 2007 22:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Mir fehlen Precompileranweisungen wie #ifndef oder #define.

Damit könnten einige Probleme mit Includes / Imports behöben werden und der Sprachkompfort insgesamt stiege massiv.

Zudem bemängele ich auch das fehlen eines richtigen Public/ private im Sinne richtigen OOPs.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Vertex

BeitragDi, Mai 08, 2007 18:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Mir fehlt vor allem ein stabiler Debugger. Sachen wie überwachte Variablen, on the fly Variablen ändern oder auch Code on the fly eingeben und ausführen lassen würde die Arbeitszeit zumindest bei mir stark reduzieren.

OT: Jetzt sage ich mir aber: "Warum die ewige Quälerei, wenn es bereits für lau im professionellen Sektor gibt?". BlitzMax ist für mich immer noch eine Anfängersprache. Damit kann man sehr gut OOP erlernen. Und wer Zugriffsmodifizierer, Schnittstellen, ein stabiles GUI mit professionellen GUI Editor, highend Debugger, professionelle IDE tief dokuementierte Befehle usw. braucht der wechselt auf .NET beispielsweise C# um. Bei Blitz3d war man noch auf die gute 3D Engine angewiesen, die C# nicht von Haus aus mitliefert doch die Module in BMax lassen sich ohne riesen Aufwand durch SDL beispielsweise ersetzen. Einzige Nachteil: die teilweise Windowsabhängigkeit.
vertex.dreamfall.at | GitHub

BtbN

BeitragDi, Mai 08, 2007 20:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Vertex hat Folgendes geschrieben:
...der wechselt auf .NET beispielsweise C# um.


Naja, da würde ich doch eher auf ein Toolkit wie Qt(welches ich für das genialste Toolkit was es aktuell gibt halte) setzen. Das ist recht einfach zu benutzen, man hat gute Ergebnisse, es ist vollkommen Crossplatform, und für C++ gibt es sehr gute möglichkeiten zum debuggen. GUI Editor hats auch(Auch wenn ich den nicht sonderlich mag), IDEs gibts bis zum umfallen, und die Doku von Qt ist die beste die ich je gesehen habe.

mahe

BeitragDi, Mai 08, 2007 21:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei der Mac-Oberfläche funktionieren die Tasten "Home" und "End" nicht erwartungsgemäß. Sie springen nicht im Text an den Anfang bzw. das Ende sondern man wechselt damit zwischen den einzelnen offenen Dateien (Tabs inkl. Help).

Ich weiß allerdings nicht obs daran liegt, dass auf dem MacBook die Tasten "Home" und "End" auf den Pfeiltasten liegen und so nur mit der Apfeltaste erreichbar sind. "PageUp" und "PageDown" liegen da allerdings auch und funktionieren einwandfrei.
ʇɹǝıdɯnɹɹoʞ ɹnʇɐuƃıs - ǝpoɥʇǝɯ-ɹoɹɹıɯ ɹǝp uı ,ɹoɹɹǝ,

Gehe zu Seite 1, 2, 3  Weiter

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group