Statt pointer eine Stringvariable nutzen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
PIC18F2550
Beiträge: 104
Registriert: 29.04.2024 09:10
Computerausstattung: Server HP Proliant G7
PC AMD FX(tm)-9590, 64Gb Ram, 2x 2TB Raid5 SAS

Re: Stat pointer eine Stringvariable nutzen

Beitrag von PIC18F2550 »

Bin am Montag wieder am PC da werde ich mal ein muster hier posten..
Es ist eine ASCII datei wo werte mal in Anführungszeichen stehen und manchmal nicht.
Die Zeilenenden sind auch nicht immer Windowskonform. Ab und zu fehlt mal das eine und andere von den zweien.

Daher auch der import in eine Variable, weil ich dort ändern kann ohne die Strucktur zu schädigen.

Um den Speicherplatz mache ich mir erstmal keine Gedanken 64Gbyte reichen alle mal.

Mit den anderen Tabellen dürfte das Programm auf 5Gbyte kommen.
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
H.Brill
Beiträge: 496
Registriert: 15.10.2004 17:42
Wohnort: 66557 Neunkirchen

Re: Stat pointer eine Stringvariable nutzen

Beitrag von H.Brill »

PIC18F2550 hat geschrieben: 11.05.2024 19:52 Bin am Montag wieder am PC da werde ich mal ein muster hier posten..
Es ist eine ASCII datei wo werte mal in Anführungszeichen stehen und manchmal nicht.
Die Zeilenenden sind auch nicht immer Windowskonform. Ab und zu fehlt mal das eine und andere von den zweien.

Daher auch der import in eine Variable, weil ich dort ändern kann ohne die Strucktur zu schädigen.

Um den Speicherplatz mache ich mir erstmal keine Gedanken 64Gbyte reichen alle mal.

Mit den anderen Tabellen dürfte das Programm auf 5Gbyte kommen.
Genau mit solchen Sachen hatte ich damals auch zu kämpfen.
Am besten hier die ganze Datei. Vielleicht erkennt man ja ein wiederkehrendes Muster.
Die HW ist ja auch keine KI.
PS: Für meinen Bruder war das damals eine riesen Erleichterung. Der ging ja 3 Tage unter Tage messen
und der Rest der Woche wurde mit der Auswertung verbracht. Die Daten mußten ja irgendwie geordnet
werden, damit man Auswertungen oder Diagramme u.ä. machen konnte. Ich hatte damals fast 2 Wochen das
Programm geschrieben und mein Bruder bekam die Prämie für diesen Verbesserungsvorschlag :twisted:
Wenn er schon mit meinem Proggi im Betrieb stinken gegangen ist, hätte er mir wenigstens die Hälfte
der Prämie geben können.
PB 6.10
Benutzeravatar
PIC18F2550
Beiträge: 104
Registriert: 29.04.2024 09:10
Computerausstattung: Server HP Proliant G7
PC AMD FX(tm)-9590, 64Gb Ram, 2x 2TB Raid5 SAS

Re: Statt pointer eine Stringvariable nutzen

Beitrag von PIC18F2550 »

Datei Anhängen geht wohl in diesen Forum nicht? Na ja macht nichts.
Da kippe ich das hald hier rein. :mrgreen:

Code: Alles auswählen

<?xml version="1.0" encoding="utf-8" ?>
<EplanPxfRoot Name="PmAutoFile_1715587347" Type="Macro" Version="2.9.41955" PxfVersion="1.23" SchemaVersion="1.7.11955" Source="" SourceProject="C:\Users\Public\EPLAN\Data\Projekte\TEST.elk" Description="??_??@Automatisch erzeugte Daten;" ConfigurationFlags="73729" NumMainObjects="2" NumProjectSteps="2" NumMDSteps="0" Customgost="0" StreamSchema="EBitmap, ,2,1,2;EPosition3D, ,0,3,2;ERay3D, ,0,4,2;EStreamableVector, ,0,5,2;BaseTextLine@W3D, ,2,22,2;Box3d@W3D, ,0,23,2;DMNCDataSet, ,1,25,2;DMNCDataSetVector, ,1,26,2;Linetype@W3D, ,0,28,2;Color@W3D, ,0,29,2;Material@W3D, ,3,30,2;Mesh3d@W3D, ,8,32,2;Mesh3dX@W3D, ,2,33,2;MeshBox@W3D, ,5,34,2;MeshEdge3d@W3D, ,0,35,2;MeshFace3d@W3D, ,2,36,2;MeshPoint3d@W3D, ,1,37,2;MeshPolygon3d@W3D, ,1,38,2;MeshSimpleTextureTriangle3d@W3D, ,2,39,2;MeshSimpleTriangle3d@W3D, ,1,40,2;MeshText3dX@W3D, ,0,41,2;MeshTriangle3d@W3D, ,2,42,2;MeshTriangleFace3d@W3D, ,0,43,2;MeshTriangleFaceEdge3D@W3D, ,0,44,2;CTexture@W3D,W3dBaseGeometry,0,71,2;MeshMate@W3D,W3dMeshModeller,7,72,2;MeshMateFace@W3D,W3dMeshModeller,1,73,2;MeshMateGrid@W3D,W3dMeshModeller,8,74,2;MeshMateGridLine@W3D,W3dMeshModeller,1,75,2;MeshMateLine@W3D,W3dMeshModeller,1,76,2">
 <EplPxfDir>
  <EplPxfDirEntry MacroFuncType="-1" VariantId="-1"/>
 </EplPxfDir>
 <MacroVariant>
  <ESymLib Name="SPECIAL" ID="0"/>
  <ESymLib Name="IEC_symbol" ID="1"/>
  <ESymLib Name="IEC_single_symbol" ID="2"/>
  <ESymLib Name="GRAPHICS" ID="3"/>
  <ESymLib Name="OS_SYM_ESS" ID="4"/>
  <O14 Build="11955" A1="14/1" A3="0" A13="0" A14="0" A133="TEST@1715585963" A134="2.7.3.11955" A135="0">
  <P11 P10000="EPL_DEMO" P10002="&lt;1100&gt;&lt;1101&gt;&lt;1102&gt;&lt;1103&gt;&lt;1104&gt;&lt;1105&gt;&lt;1106&gt;&lt;1107&gt;&lt;1108&gt;&lt;1109&gt;" P10004="&lt;1200&gt;&lt;1201&gt;&lt;1202&gt;&lt;1203&gt;&lt;1204&gt;&lt;1205&gt;&lt;1206&gt;&lt;1207&gt;&lt;1208&gt;&lt;1209&gt;" P10012="0" P10018="16&#9;==&#9;.&#9;=&#9;.&#9;++&#9;.&#9;+&#9;.&#9;&#9;&#9;&amp;&#9;&#9;#&#9;#&#9;-&#9;-" P10019="16&#9;1&#9;1&#9;1&#9;1&#9;1&#9;1&#9;0&#9;1&#9;0&#9;0&#9;1&#9;0&#9;1&#9;0&#9;1&#9;0" P10020="PIC18F2550" P10021="1715585954" P10022="PIC18F2550" P10024="1498485039" P10028="1715585963" P10029="4&#9;0&#9;0&#9;0&#9;0" P10050="&lt;10002&gt;&lt;10004&gt;&lt;11012&gt;&lt;11013&gt;" P10051="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;" P10053="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;&lt;20016&gt;&lt;20017&gt;&lt;20018&gt;&lt;20019&gt;" P10054="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;&lt;20016&gt;&lt;20017&gt;&lt;20018&gt;&lt;20019&gt;" P10055="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;&lt;20016&gt;&lt;20017&gt;&lt;20018&gt;&lt;20019&gt;" P10056="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;&lt;20016&gt;&lt;20017&gt;&lt;20018&gt;&lt;20019&gt;" P10057="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;&lt;20016&gt;&lt;20017&gt;&lt;20018&gt;&lt;20019&gt;" P10059="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;&lt;20016&gt;&lt;20017&gt;&lt;20018&gt;&lt;20019&gt;" P10060="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;&lt;20016&gt;&lt;20017&gt;&lt;20018&gt;&lt;20019&gt;" P10061="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;&lt;20016&gt;&lt;20017&gt;&lt;20018&gt;&lt;20019&gt;" P10062="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;&lt;20016&gt;&lt;20017&gt;&lt;20018&gt;&lt;20019&gt;" P10063="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;&lt;20016&gt;&lt;20017&gt;&lt;20018&gt;&lt;20019&gt;" P10064="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;&lt;20016&gt;&lt;20017&gt;&lt;20018&gt;&lt;20019&gt;" P10069="IEC_tpl002.ept" P10070="&lt;10002&gt;&lt;10004&gt;&lt;11012&gt;&lt;11013&gt;" P10071="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;" P10072="11955" P10073="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;&lt;20016&gt;&lt;20017&gt;&lt;20018&gt;&lt;20019&gt;" P10074="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;&lt;20016&gt;&lt;20017&gt;&lt;20018&gt;&lt;20019&gt;" P10075="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;&lt;20016&gt;&lt;20017&gt;&lt;20018&gt;&lt;20019&gt;" P10076="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;&lt;20016&gt;&lt;20017&gt;&lt;20018&gt;&lt;20019&gt;" P10077="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;&lt;20016&gt;&lt;20017&gt;&lt;20018&gt;&lt;20019&gt;" P10079="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;&lt;20016&gt;&lt;20017&gt;&lt;20018&gt;&lt;20019&gt;" P10080="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;&lt;20016&gt;&lt;20017&gt;&lt;20018&gt;&lt;20019&gt;" P10081="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;&lt;20016&gt;&lt;20017&gt;&lt;20018&gt;&lt;20019&gt;" P10082="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;&lt;20016&gt;&lt;20017&gt;&lt;20018&gt;&lt;20019&gt;" P10083="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;&lt;20016&gt;&lt;20017&gt;&lt;20018&gt;&lt;20019&gt;" P10084="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;&lt;20016&gt;&lt;20017&gt;&lt;20018&gt;&lt;20019&gt;" P10085="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;&lt;20016&gt;&lt;20017&gt;&lt;20018&gt;&lt;20019&gt;" P10086="&lt;10002&gt;&lt;10004&gt;&lt;20012&gt;&lt;20013&gt;&lt;20014&gt;&lt;20015&gt;&lt;20016&gt;&lt;20017&gt;&lt;20018&gt;&lt;20019&gt;" P10089="&lt;10001&gt;&lt;10002&gt;&lt;10003&gt;&lt;10004&gt;&lt;10006&gt;&lt;10007&gt;&lt;10005&gt;" P10090="0" P10092="3&#9;11017&#9;0&#9;0&#9;10002&#9;0&#9;1&#9;10004&#9;0&#9;1" P10093="0" P10094="3&#9;10002&#9;0&#9;1&#9;10004&#9;0&#9;1&#9;20012&#9;0&#9;0&#9;20013&#9;0&#9;0&#9;20014&#9;0&#9;0&#9;20015&#9;0&#9;0" P10095="0" P10097="0" P10310="0" P10311="0" P10400="##_##@703/SchemeDataProject;" P10401="##_##@703/SchemeDataProject;" P10403="##_##@703/SchemeDataProject;" P10405="##_##@703/SchemeDataProject;" P10406="##_##@703/SchemeDataProject;" P10407="##_##@703/SchemeDataProject;" P10409="##_##@703/SchemeDataProject;" P10410="##_##@703/SchemeDataProject;" P10411="##_##@703/SchemeDataProject;" P10412="##_##@703/SchemeDataProject;" P10413="##_##@703/SchemeDataProject;" P10414="##_##@703/SchemeDataProject;" P10420="##_##@703/SchemeDataProject;" P10421="##_##@703/SchemeDataProject;" P10423="##_##@703/SchemeDataProject;" P10425="##_##@703/SchemeDataProject;" P10426="##_##@703/SchemeDataProject;" P10427="##_##@703/SchemeDataProject;" P10429="##_##@703/SchemeDataProject;" P10430="##_##@703/SchemeDataProject;" P10431="##_##@703/SchemeDataProject;" P10432="##_##@703/SchemeDataProject;" P10433="##_##@703/SchemeDataProject;" P10434="##_##@703/SchemeDataProject;" P10450="0" P10514="-1" P10609_5="[20221&lt;20010,0,0,0,0,0,0,0,0,de_DE,0,0,0,0,0,0&gt;]-[20222,1&lt;4&lt;11037,0,0,0,0,0,0,0,0,de_DE,0,0,0,0,0,5&gt;&gt;][20222,1&lt;4&lt;11042,0,0,0,0,0,0,0,0,de_DE,0,0,0,0,0,0&gt;&gt;]-[20222,1&lt;20221&lt;19006,0,0,0,0,0,0,0,0,de_DE,0,0,0,0,0,0&gt;&gt;]/[20222,1&lt;20221&lt;19005,0,0,0,0,0,0,0,0,de_DE,0,0,0,0,0,0&gt;&gt;]" P10660_5="=│??_??@0;│??_??@E;║=│??_??@2;│??_??@H;║=│??_??@3;│??_??@P;║=│??_??@4;│??_??@C;║=│??_??@5;│??_??@L;║=│??_??@6;│??_??@V;║=│??_??@7;│??_??@F;║=│??_??@8;│??_??@K;║=│??_??@9;│??_??@G;" P10902="1" P10904="0" P19031="[14&lt;10155,1,0,0,0,0,0,0,0,,0,0,,0,0&gt;][LF][14&lt;10157,1,0,0,0,0,0,0,0,,0,0,,0,0&gt;][LF][14&lt;10158,1,0,0,0,0,0,0,0,,0,0,,0,0&gt;]"/>
  </O14>
  <O6 Build="11955" A1="6/64" A3="0" A13="0" A14="0" A81="1100" A82="ANL" A83="1" A85="10002" A86="" A4049="0"/>
  <O6 Build="11955" A1="6/65" A3="0" A13="0" A14="0" A81="1200" A82="EBO" A83="1" A85="10004" A86="" A4049="0"/>
  <O4 Build="11955" A1="4/1" A3="0" A13="0" A14="0" A47="1" A48="1715586882" A50="0" A59="1" A404="1" A405="64" A406="0" A407="0" A431="1" A699="00000000000000000000000000000000" A1101="111" A1102="" A1103="" A4043="0" A4049="0">
  <P11 P10185="WUP0Z00000" P11006="0" P11011="??_??@Testseite;" P11020="PIC18F2550" P11021="1715586221" P11022="PIC18F2550" P11024="1715587318" P11037="0" P11048="1" P11050="0"/>
  <P49 P1100="ANL" P1200="EBO" P11012="111"/>
  <O30 Build="11955" A1="30/1" A3="0" A13="0" A14="0" A404="1" A405="64" A406="0" A407="0" A411="108" A412="L" A413="L" A414="L" A415="L" A416="0" A501="-24/28" A503="0" A506="0" A511="de_DE@TestText1;en_US@USTEST;">
  <S54x505 A961="L" A962="L" A963="0" A964="L" A965="0" A966="0" A967="0" A968="0" A969="0" A4000="L" A4001="L" A4013="0"/>
  </O30>
  <O83 Build="11955" A1="83/5" A3="0" A13="0" A14="0" A404="1" A405="64" A406="0" A407="0" A411="110" A412="L" A413="L" A414="L" A415="L" A416="0" A501="-24/20" A503="0" A506="0" A511="??_??@TestText3;">
  <S54x505 A961="L" A962="L" A963="0" A964="L" A965="0" A966="0" A967="0" A968="0" A969="0" A4000="L" A4001="L" A4013="0"/>
  </O83>
  <O83 Build="11955" A1="83/6" A3="0" A13="0" A14="0" A404="1" A405="64" A406="0" A407="0" A411="110" A412="L" A413="L" A414="L" A415="L" A416="0" A501="-24/16" A503="0" A506="0" A511="??_??@TestText4;">
  <S54x505 A961="L" A962="L" A963="0" A964="L" A965="16384" A966="0" A967="0" A968="0" A969="0" A4000="L" A4001="L" A4013="0"/>
  </O83>
  <O30 Build="11955" A1="30/7" A3="0" A13="0" A14="0" A404="1" A405="64" A406="0" A407="0" A411="108" A412="L" A413="L" A414="L" A415="L" A416="0" A501="-24/24" A503="0" A506="0" A511="??_??@TestText2;;;">
  <S54x505 A961="L" A962="L" A963="0" A964="L" A965="16384" A966="0" A967="0" A968="0" A969="0" A4000="L" A4001="L" A4013="0"/>
  </O30>
  <O30 Build="11955" A1="30/8" A3="0" A13="0" A14="0" A404="1" A405="64" A406="0" A407="0" A411="108" A412="L" A413="L" A414="L" A415="L" A416="0" A501="-24/16" A503="0" A506="0" A511="de_DE@TestText5&#10;zweizeilig;en_US@USTEST;">
  <S54x505 A961="L" A962="L" A963="0" A964="L" A965="0" A966="1" A967="0" A968="0" A969="0" A4000="L" A4001="L" A4013="0"/>
  </O30>
  </O4>
  <O4 Build="11955" A1="4/2" A3="0" A13="0" A14="0" A47="1" A48="1715587344" A50="0" A59="1" A404="1" A405="64" A406="0" A407="0" A431="1" A699="00000000000000000000000000000000" A1101="112" A1102="" A1103="" A4043="0" A4049="0">
  <P11 P10185="WUP0Z00000" P11006="0" P11011="??_??@Testseite2;" P11020="PIC18F2550" P11021="1715587344" P11022="PIC18F2550" P11024="1715587344" P11037="0" P11048="1" P11050="0"/>
  <P49 P1100="ANL" P1200="EBO" P11012="112"/>
  </O4>
 </MacroVariant>
</EplanPxfRoot>
Die erste Zeile endet schon Mal mit einem LF :freak:
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Statt pointer eine Stringvariable nutzen

Beitrag von NicTheQuick »

Ähm, das möchtest du selbst parsen? Wieso möchtest du nicht LoadXML nutzen?
Benutzeravatar
PIC18F2550
Beiträge: 104
Registriert: 29.04.2024 09:10
Computerausstattung: Server HP Proliant G7
PC AMD FX(tm)-9590, 64Gb Ram, 2x 2TB Raid5 SAS

Re: Statt pointer eine Stringvariable nutzen

Beitrag von PIC18F2550 »

Das ist nicht weiter schlimm.
Ich will ja nur ein paar Werte extrahieren und diese Modifiziert zurückschreiben.
Hab ich schonmal mit VBA gemacht nur platzt Exel wegen der Datenmenge.
Ich werde Die Daten doch Zeilenweise Laden das macht das parsen einfacher.
Das Zeilenweise laden braucht wie ich sehe nur ein LF oder CR und tut so als sei es CRLF.
Warscheinlich ein Nebeneffekt von Linux und MAC. :allright:
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
H.Brill
Beiträge: 496
Registriert: 15.10.2004 17:42
Wohnort: 66557 Neunkirchen

Re: Statt pointer eine Stringvariable nutzen

Beitrag von H.Brill »

NicTheQuick hat geschrieben: 13.05.2024 10:22 Ähm, das möchtest du selbst parsen? Wieso möchtest du nicht LoadXML nutzen?
Warum sagt er das nicht gleich, daß es eine xml-Datei ist ?
Mit der PB-XML- Lib kann man ja schon einiges eingrenzen.
Jetzt muß man doch nur noch wissen, um welche und wieviele Daten es geht
und demnach die spitzen Klammern z.b. </p014..../> parsen.

Etwas Doku dazu muß man natürlich haben, sonst steht man im Dunkeln.
Da ja auch viel Beiwerk bei solchen Dateien dabei ist, spart man durch gezieltes
Parsen auch noch Platz.
PB 6.10
Benutzeravatar
PIC18F2550
Beiträge: 104
Registriert: 29.04.2024 09:10
Computerausstattung: Server HP Proliant G7
PC AMD FX(tm)-9590, 64Gb Ram, 2x 2TB Raid5 SAS

Re: Statt pointer eine Stringvariable nutzen

Beitrag von PIC18F2550 »

Doku gibt es auch nicht dazu alles nur versuch irrtum.

LoadXML ist mir als anfänger mit PB noch eine Nummer zu hoch.
Gibt es ein Beispiel wo ich Werte auslesen und mit geänderten Speichern kann?

Momentan habe ich ein kleines problem mit der Exe.
In der IDE läuft das programm aber wenn ich es Compiliere schmiert es mir nach der 2. Zeile ab.
Kann das sein das die routine ReadString(0) in der IDE von der Compilierten Abweicht?
Ich frage danach weil die 1. Zeile nur mit einen LF endet.

Genug für Heute.
Danke
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Benutzeravatar
H.Brill
Beiträge: 496
Registriert: 15.10.2004 17:42
Wohnort: 66557 Neunkirchen

Re: Statt pointer eine Stringvariable nutzen

Beitrag von H.Brill »

Ja, Debugger im fertigen Programm kann ein Problem sein.
Ist ja auch nur für die IDE beim Ausprobieren gedacht.
Habe es hier mal in ein einfaches Listview gemacht :

Code: Alles auswählen

If OpenWindow(0, 0, 0, 600, 400, "Fenster",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
   ListViewGadget(0, 10, 10, 350, 320)

  If ReadFile(0, "F:\Daten.xml") 
    
    ;z.s = ReadString(0, #PB_Ascii|#PB_File_IgnoreEOL)
   While Eof(0) = 0           ; sich wiederholende Schleife bis das Ende der Datei ("end of file") erreicht ist
     AddGadgetItem(0, -1, ReadString(0))  ; Zeile für Zeile im Debugger-Fenster anzeigen
    Wend
  EndIf  
  CloseFile(0)
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
 EndIf
  
PFAD BEI READFILE() ANPASSEN !!!!!!!!!!!!!!!!!!!!!!!!
PB 6.10
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Statt pointer eine Stringvariable nutzen

Beitrag von mk-soft »

Wenn du es mit VBA hin bekommen hast, geht es ja auch mit VB-Script.
Hier für habe die ein Modul ActiveScript geschrieben. Somit kann du eine kleines PB-Programm schreiben,
wo du zur Laufzeit deinen VB-Script anpassen kannst.

Link: Module ActiveScript
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
PIC18F2550
Beiträge: 104
Registriert: 29.04.2024 09:10
Computerausstattung: Server HP Proliant G7
PC AMD FX(tm)-9590, 64Gb Ram, 2x 2TB Raid5 SAS

Re: Statt pointer eine Stringvariable nutzen

Beitrag von PIC18F2550 »

Hatt mir keine Ruhe gelassen.
Der Fehler tritt nur auf in wenn ich OpenWindow() verwende.
Mit OpenConsole() läuft mein Parser Durch ohne Prbleme. (>728000 Zeilen)

Wass mir aufgefallen ist das die Aktualisierung des Programms abgeschaltet wird wenn ich z.B. auf den Firefox Klicke um was zu suchen.
Kann es sein das der Event nicht nur auf das eigene Fenster reagiert? Und er desshalb abschmiert weil der Event nicht bedient wird?
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
Antworten