| |
|
|
- page 1 - |
|
RudiB. | Salut,
habe un kleines Problem le moi pas lösen peux, ou bien pas verstehe. mon Interpreter stürzt mir chez folgendem Quellcode ab / hängt sich sur.....mais pourquoi car seulement. quoi fais je là faux ?? Hat quelqu'un une concept et peux mir aider ?
Herunterladen |
|
|
| |
|
|
| |
|
- page 2 - |
|
|
« cette Beitrag wurde comme Solution gekennzeichnet. » |
|
- page 3 - |
|
RGH | oui, et es wurde de mir réellement seinerzeit so eigebaut:
qui Arrays sommes zéro-basierend et qui Angabe beim Dimensionieren gibt cela jeweils dernier Element à. qui Begriff Taille à einigen se mettre qui Aider ist ici réellement irreführend.
Hintergrund qui Geschichte: Seinerzeit (avant etwa 18 Jahren avec Profan² 6) wurde Profan² encore volontiers genutzt, um BASIC-Programme pour Windows trop portieren. dans den verschiedenen BASIC-Dialekten donnais es qui Arrays la fois zéro-basierend et la fois avec 1 beginnend. avec meiner Solution konnten beide Varianten simple übernommen volonté. qui une pas zéro-basierenden Quellcode nutzte, um etwa un Schachbrett trop programmieren kam avec Déclarer champ%[8,8] aus, aussi si là qui Felder avec 0 comme index inutilisé blieben. qui de einem zéro-basierendem BASIC kam, hatte aussi avec Déclarer champ%[7,7] aucun Probleme.
Aussi mag aussi qui Pascal-Schreibweise, qui chez Arrayas toujours cela (erste et) dernier Element et pas qui Taille angibt, mon damalige entscheidung beeinflusst avons.
Richtig ist, dass qui Aider quelquefois quelque chose irreführend ist, si je de Taille schreibe, car qui eigentliche Taille ist par cela 0-Element oui dans chacun Dimension une plus.
Changement peux je daran pour 18 Jahren wohl rien plus (sauf am Aider-Text naturellement) sans Kompatibilitätsproblemen avec bestehenden Quellcodes trop venons. (imaginable wäre au maximum un commutateur, à Arrays aus Programmierersicht 1-basierend trop faire, avec cela chez champ%[8,8] ensuite réellement un Array qui Taille 64 beginnend chez champ%[1,1] erzeugt wird.)
Salut Roland
PS: Ende cet Jahres entwickle je déjà 25 Jahre à Profan. je werde vieux! ;) |
|
|
| XProfan X3Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 01.02.2016 ▲ |
|
|
|
|
|
RudiB. | s'il te plaît lass mich pas à meinem Verstand zweifeln... et probier la fois cet Listing aus....s'il te plaît. Herunterladen et ensuite sag mir cela cet Array seulement 4 Felder hat.... |
|
|
| |
|
|
|
| Es hat seulement 4 Felder.
Windows et XProfan sommes droite gnädig chez "falschen" Speicherzugriffen.
Richtig vous êtes toutefois pas et Abstürze ensuite Zufall.
si Du alors pas vouloir, dass Dein Programme seulement zufällig funktioniert, ensuite besser richtig dimensionieren.
Bedenke aussi, dass Du cet Adressen eh bien par Dein stetiges Testen "trainiert" la hâte et sur anderen Umgebungen tout de suite un Absturz folgen pourrait et/ ou bien cela Programme pas correct durchlaufen pourrait.
exposition la fois den Thementitel:
mon Interpreter stürzt mir durable ab / pourquoi seulement ?? |
|
|
| |
|
|
|
RudiB. |
ca zur XProfan-Aider, sagt ici mais quoi d'autre........ je crois presque Du vouloir mich cet l'an encore sur den pauvre prendre, ou bien ?? |
|
|
| |
|
|
|
| je mon cela völlig ernst.
là steht "Angabe qui Größe".
Woanders dans qui Aider widerspricht sich Roland:
Aider
Déclarer Integer Spielfeld[7,7] ici wird un zweidimensionales Integer-Array aus 8 * 8 Elementen - etwa pour un jeu d'échecs - erzeugt.
égal si qui Aider en supplément alors Murx ist ou bien qui Funktion sizeof... so ist es richtig:
declare a$[3,3] est un 2D-Array avec 3 Zeilen pro Dimension = 9 Einträge.
si Du toi daran hältst et Dein Programme abstürzt, ensuite funktioniert XProfan pas richtig. je crois mais, dass Dein Programme après pas abstürzten wird. qui Aider et SizeOf sommes pas richtig.
Es peux son, dass (qui momentan pas abkömmliche [weil abgängig]) Roland forfaitaire une la ligne plus à l' Array anfügt mais puis serait je pas mettons.
[OFFTOPIC]je konnt pas widerstehen - sorry (Jörg)[/OFFTOPIC] |
|
|
| |
|
|
|
Jörg Sellmeyer | et David hat droite! c'est un faute, qui allerdings sogar dans qui aktuellen Version encore vorhanden ist. aussi si es funktioniert, sollte on solche faute pas "benutzen", après que vous erkannt wurden. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 28.12.2015 ▲ |
|
|
|
|
| [OFFTOPIC] @Jörg:Abkömmlich: merci! cela mot hätte je wohl ewig sinnverkehrt verwendet - habs maintenant begriffen! [/OFFTOPIC] |
|
|
| |
|
|
|
RudiB. | je fasse es oui pas........lag je car espace qui Jahre so daneben?? |
|
|
| |
|
|
|
| cet Frage wird abschließend peut-être seulement par toi beantwortet volonté peut. |
|
|
| |
|
|
|
RGH | alors: Déclarer Irgendwas$[2,2] erzeugt un zweidimenionales Array avec 9 Elementen, là qui Zählung avec 0 anfängt! alors de 0,0 jusqu'à 2,2!
Salut Roland
(z.Zt. dans Boston, USA) |
|
|
| XProfan X3Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 30.12.2015 ▲ |
|
|
|
|
| la hâte Du es so incorporé,
dass on dans XProfan un 4x4 Array per Déclarer a&[3,3] deklariert?
cela fait so large je sais aucun Programmiersprache so, si qui index avec 0 beginnt! plutôt ist es üblich, qui Größen anzugeben chez qui Arraydeklaration - pas den letzten index-Wert.
Faible 4 deklariert aussi pas 5 Byte - cependant, si Du es pour XProfan abweichend gelöst la hâte ensuite stimmt qui Hilfedatei en supplément pas et im comparaison trop anderen Deklarationen (Strukturen, Faible) ist cet Anwendung pas konsistent.
@Rudi: après hat Roland es scheinbar doch so incorporé comment Du es verstanden la hâte. ou bien il est maintenant selbst durcheinander gekommen beim Mitlesen aus Boston. cela sais je pas.
Getestet FreeProfan et XProfan 11:
donner beide 1 aus. |
|
|
| |
|
|
|
Jörg Sellmeyer | je peux mich dumpf entsinnen, dass cela Schonmal Thema était et es mich aussi très irritiert hat. dans meinen Augen ist es un klarer faute. Größenangaben et nullbasierende Zählung devrait pas vermischt volonté. |
|
|
| |
|
|
|
Michael W. | ici hat Roland simple Basic et qui anderen dans une pot geworfen.
oui il y a Sprachen, qui chez qui Zählung chez zéro commencer et avec cela sich là aucun vertut hat Roland cela nullte Element avec ins bateau geholt.
et oui, es était déjà häufiger l'article qui Diskussion.
et aussi WhileLoop peux une ici déjà la fois foppen, car:
WhileLoop SizeOf(arr) --- durchläuft alles vom index 1 beginnend et fällt ensuite beim letzten Element sur qui nez.
Richtig ist ici nämlich WhileLoop 0, SizeOf(arr) - 1 |
|
|
| XProfan X3System: Windows 8/10, XProfan X4 Programmieren, das spannendste Detektivspiel der Welt. | 31.12.2015 ▲ |
|
|
|