Re: [fpc-pascal] Executable with invisible window and IO enabled
On Mon, 15 Jul 2013, luciano de souza wrote: hello all, I want to compile a program with no visible screen, but at the same time, with input and output enabled. If I use $apptype gui, the screen is invisible, but there are not input and output. Correction: there is input and output, just not standard input and output. (the console, if you want) If I use the standard $apptype console, the input and output is enabled, but the screen is visible. In Windows, how to obtain the both effects simultaneously? Brook has an embeded web server. With one click on the executable, the web server is opened. However, it's not my intention to keep the window visible. Otherwise, the browser will read data from the input and write data to the output. It should not. A webserver reads/writes to port 80. If it reads/writes to standard input/output, it only diagnostic information. You should compile this app with $apptype GUI, and disable all diagnostic information (i.e. comment out all writeln statements) Michael. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
[fpc-pascal] Strings
Hi I have a question about dynamic strings and memory allocation. If you look at my example underneath, I depend on that a dynamic string always is assigned memory space in one connected block. But will that always be the case in various operating systems. Carsten Function Sum(p:pointer; len:LongInt):LongInt; Type a_typ=array[0..pred(maxLongInt)] of byte; a=^a_typ; var i:LongInt; Begin result:=0; for i:=0 to len do result:=result+a(p)^[i]; End; Procedure test; Var s:ansistring; i:integer; Begin s:='Something'; for i:=0 to 10 do s:=s+'Test'; if Sum(@s[1],length(s)) = 0 then halt(0); End; Med venlig hilsen Carsten Bager BEAS A/S Brørupvænget 10 DK-7650 Bøvlingbjerg Tlf. : +45 9788 5222 Fax : +45 9788 5434 www.beas.dk ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Strings
On 07/16/2013 12:17 PM, Carsten Bager wrote: If you look at my example underneath, I depend on that a dynamic string always is assigned memory space in one connected block. As the compiler allows for assigning a string to a pchar, the strings need to be compatible to C strings. Thus: - The content starts at the location the pchar points to and fills consecutive addresses - a $0 character is appended after the last relevant character. Of course the OS is free to use the mapped hardware RAM address in a way that for DMA the string content might come in separate chunks. Is this what you mean ? - Michael ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Strings
Why not just skip all the encoding uncertainity of strings and use an array of byte/char? It'll probably be a lot faster too Den 16-07-2013 12:17, Carsten Bager skrev: Hi I have a question about dynamic strings and memory allocation. If you look at my example underneath, I depend on that a dynamic string always is assigned memory space in one connected block. But will that always be the case in various operating systems. Carsten Function Sum(p:pointer; len:LongInt):LongInt; Type a_typ=array[0..pred(maxLongInt)] of byte; a=^a_typ; var i:LongInt; Begin result:=0; for i:=0 to len do result:=result+a(p)^[i]; End; Procedure test; Var s:ansistring; i:integer; Begin s:='Something'; for i:=0 to 10 do s:=s+'Test'; if Sum(@s[1],length(s)) = 0 then halt(0); End; Med venlig hilsen Carsten Bager BEAS A/S Brørupvænget 10 DK-7650 Bøvlingbjerg Tlf. : +45 9788 5222 Fax : +45 9788 5434 www.beas.dk ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Strings
In our previous episode, Carsten Bager said: Function Sum(p:pointer; len:LongInt):LongInt; Type a_typ=array[0..pred(maxLongInt)] of byte; a=^a_typ; var i:LongInt; Begin result:=0; for i:=0 to len do result:=result+a(p)^[i]; End; 0..len is len+1 items. Procedure test; Var s:ansistring; i:integer; Begin s:='Something'; for i:=0 to 10 do s:=s+'Test'; if Sum(@s[1],length(s)) = 0 then s[1] length(s) implies lenght(s) items. IOW the sum routine also adds/accesses the final zero. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Strings
Of course the OS is free to use the mapped hardware RAM address in a way that for DMA the string content might come in separate chunks. Is this what you mean ? - Michael Yes Thanks Carsten ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Strings
My code was just an example, to illustrate what I was aiming at. It is not actually used. But I think you have a point Carsten Why not just skip all the encoding uncertainity of strings and use an array of byte/char? It'll probably be a lot faster too ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Re: [Lazarus] Should TObject or TComponent have a Comment property?
On 15 July 2013 22:58, Kenneth Cochran kenneth.coch...@gmail.com wrote: I completely disagree. It is the code that is the primary expression of intent not the comments. This is mainly accomplished through sensible identifier naming. Comments exist to compensate for a developer's inability to express intent through the code and IMHO should be reserved for this sole purpose. In most cases you should be able to look at a function signature and know exactly what that function's intent is. Likewise you should be able to tell the intent of a class by its name and the names of its public/published members. This is, at least, what I strive for in my own code. Bob Martin's Clean Code dedicates the entire 4th chapter to the discussion of comments and make some very compelling arguments for limiting their use. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal I have 2 main concerns here, a comment for the component itself which is not particularly important and a comment for the component when I add it to a form or data module. When I create a method I can add a comment to the method. If I create a component in code, I can label that section of code, but if I drag and drop a component from the palette onto the form what option do I have? Descriptive variable and component names have a habit of getting too long. It is hardly for the end users sake unless the enduser is a programmer. I just need something to help when working in the IDE, eg hovering over a component and seeing the comment in addition to what is current displayed. -- Frank Church === http://devblog.brahmancreations.com ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: [fpc-pascal] Re: [Lazarus] Should TObject or TComponent have a Comment property?
On 7/16/2013 17:56, vfclists . wrote: I have 2 main concerns here, a comment for the component itself which is not particularly important and a comment for the component when I add it to a form or data module. When I create a method I can add a comment to the method. If I create a component in code, I can label that section of code, but if I drag and drop a component from the palette onto the form what option do I have? if one doesn't know what a component does when they drag it from the pallet, shouldn't they have the docs open which explain that component? Descriptive variable and component names have a habit of getting too long. agreed... i hate typing in 10+ character var or routine names... especially since i'm still working on trying to move from the old DOS TP6 environment ;) It is hardly for the end users sake unless the enduser is a programmer. I just need something to help when working in the IDE, eg hovering over a component and seeing the comment in addition to what is current displayed. i feel ya, man... i feel ya O:) -- NOTE: No off-list assistance is given without prior approval. Please keep mailing list traffic on the list unless private contact is specifically requested and granted. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal