Aktuelle Zeit: 16.12.2019 09:46

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: String mit fester Länge in Struktur kann mit > Länge gefüllt
BeitragVerfasst: 31.10.2019 01:06 
Offline
Benutzeravatar

Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg
Moin Kollegen,

ich übersehe vermutlich nur etwas (in der Hilfe).

Ich habe in einer Struktur einen String mit der Länge 1.

Code:
Structure Settings
   ; other values
   sCompression.s{1}
EndStructure

So weit so gut. Nur kann ich diesen Eintrag problemlos mit
Code:
SettingVariable\sCompression = "kjsjkhgsdkfjkd"
beschreiben.
Es befindet sich zwar später nur der erste Buchstabe darin ("k"), aber hätte da nicht schon der Compiler anschlagen müssen?

Gruß Kurzer

_________________
"Never run a changing system!"
PB 5.71 x64, OS: Windows 7 Pro x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Ich bin Baujahr 1968, also aktuell 51.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: String mit fester Länge in Struktur kann mit > Länge gef
BeitragVerfasst: 31.10.2019 09:00 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
Zitat:
Es befindet sich zwar später nur der erste Buchstabe darin ("k"), aber hätte da nicht schon der Compiler anschlagen müssen?


Wirklich ?

Hier 2 Dinge die man vlt. vermeiden will ?:

-> Prüfen kostet IMMER Zeit.

-> Prüfen könnte weitere Fehler nach sich ziehen.

_________________
Betriebssysteme: MX Linux 19 / Windows 10 / Mac OS 10.15.1 / Android 7.0 ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: String mit fester Länge in Struktur kann mit > Länge gef
BeitragVerfasst: 31.10.2019 10:58 
Offline
Ein Admin
Benutzeravatar

Registriert: 29.08.2004 20:20
Wohnort: Saarbrücken
Ob das während des Kompilierens jetzt 5 Millisekunden länger dauert, ist doch echt egal. Eine Warnung fände ich hier auch angebracht.
Und ich wüsste auch nicht welche Fehler das nach sich ziehen könnte.

_________________
Ubuntu Gnome 19.04 LTS x64, PureBasic 5.71 x64 (außerdem 4.41, 4.50, 4.61, 5.00, 5.10, 5.11, 5.21, 5.22, 5.30, 5.31, 5.40, 5.50, 5.60)
"Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: String mit fester Länge in Struktur kann mit > Länge gef
BeitragVerfasst: 31.10.2019 11:24 
Offline
Benutzeravatar

Registriert: 04.08.2009 17:24
Dass in einen Fixstring ein Literal geschrieben wird, macht für mich nur in absoluten Ausnahmefällen Sinn. Spätestens wenn in den Fixstring eine Variable geschrieben wird, ist es mit der Prüfung zur Kompilierzeit ohnehin vorbei.

Ein Compiler wird immer ein gewisser Kompromiss zwischen Prüfungen und Kompilierzeit sein. In diesem Fall würde ich sagen, kann geprüft werden, muss aber nicht. Was soll schon schlimmes passieren.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: String mit fester Länge in Struktur kann mit > Länge gef
BeitragVerfasst: 31.10.2019 11:57 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Auf die maximale Länge muss man zur Laufzeit selber achten.
Aber PB ist so gut, das der String ordnungsgemäß auch mit NULL auffüllt. :wink:
Code:
Structure udtTest
  text.s{16}
EndStructure

Global var.udtTest

var\text = "1234567890123456"
var\text = "Hello"

ShowMemoryViewer(var, 32)

_________________
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.4x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: String mit fester Länge in Struktur kann mit > Länge gef
BeitragVerfasst: 31.10.2019 16:40 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
Zitat:
Ob das während des Kompilierens jetzt 5 Millisekunden länger dauert, ist doch echt egal. Eine Warnung fände ich hier auch angebracht.


Vielleicht brauchen (je nach Intensität) genauere Speicherprüfungen auch viele mehrere Minuten länger.

Ich würde weitere optimierte Prüfungen zur Kompilierzeit und auch zur Laufzeit natürlich beführworten.

Ansonsten sollte die besste Prüfung immernoch die mit seinen eigenen Sinnen und Hirn sein.

_________________
Betriebssysteme: MX Linux 19 / Windows 10 / Mac OS 10.15.1 / Android 7.0 ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: String mit fester Länge in Struktur kann mit > Länge gef
BeitragVerfasst: 31.10.2019 18:58 
Offline
Benutzeravatar

Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg
Okay, dann habe ich immerhin nichts überlesen in der Hilfe. Firma dankt.

ccode_new hat geschrieben:
Ansonsten sollte die besste Prüfung immernoch die mit seinen eigenen Sinnen und Hirn sein.

Das ist richtig, aber wie das so ist mit den Menschen... sie sind nicht perfekt.
In meinem Fall war es ein zu schnell ausgeführtes Replace im Sourcecode... ich habe das zuerst gar nicht bemerkt, dass ich da mehr als 1 Zeichen reinschreibe.

Na ich werde es trotzdem mal im englischen Forum posten. Fred kann das sicher am besten beurteilen, ob er die Taktzyklen für so eine Prüfung/Warnung noch übrig hat in seinem Compiler. :wink:

Kurzer Gruß

_________________
"Never run a changing system!"
PB 5.71 x64, OS: Windows 7 Pro x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Ich bin Baujahr 1968, also aktuell 51.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye