D3 PICK/Basic full screen editor how to connectto the D3 database with D3 ODBC for php

2,385 views
Skip to first unread message

James Martin

unread,
Mar 20, 2015, 8:51:30 PM3/20/15
to mvd...@googlegroups.com

I am an IT Consultant.  I have a client that is a Consulting firm that has developed software
in PICK/Basic running on intel Windows 2003 Server.  They have used the
PICK database before Rocket acquired it and now work with the Rocket Product.
 
I am doing some joint work with them and need to find out all I can about using PICK/Basic.
I have a personal edition Rocket’s D3 Virtual Machine Environment and D3 ODBC Server installed
and running on windows 7 Pro 64 bit system with a database from their development environment.  

I have wIntegrate 98 installed for a BP Source editor.    They have 39 years of development by one person who



wrote all the 952 BP programs. 
 
You can see my background at:  www.jmartinassociates.net 

Primarily it is: 

  • RAD visual development tools
    •   WebSmart PHP
    •  PHPRunner Enterprise
  •  MySQL
  • DB2
  • jQuery
  •  Java and Javascript
  •  Apache Web server
  •   ZendServer
  •  PHP
  •  JSON
  •  Ajax
  •  HTML
  •  CSS
  •  XML
  •  RPGLE
  •  CLLE
  • SQL
for IBM i, iSeries, AS400,  Windows or Linux.
 
We are discussing the possibility of modernizing the PICK/Basic applications and writing some new applications.I need some information about a good full screen editor maybe something as a plugin for eclipse and how to connectto the D3 database with D3 ODBC for php.  I have many years of development in which I have written or obtain IDE(RAD) tools and developed my own Documentation toolsfor application development.  When I create an application using my documentation tools I create all the file layouts of the files anda overview of all the programs and processes that become part of the installed application.  I am planning with this D3 database toextract all the file information and create with my tools and modern updated application. 

Any help you can provide me with will be appreciated.

James R. Martin
J. Martin Associates

e-mail: jma...@jmartinassociates.net



David Knight

unread,
Mar 21, 2015, 4:15:04 AM3/21/15
to mvd...@googlegroups.com
Hello James,
Here is a brief outline of some ideas. I'd like to claim them all as my own; but honestly: Tony Gravagno suggested something like this one to me; and it's rather neat.

You may need to obtain some training; so if the following makes limited sense; I'm sorry!

In d3, files have two sections or 'levels' typically. A 'dictionary' and a 'data' level. A file which contains application code would have the source held in the data level, and complied [executable] code stored in the dictionary [or to be pedantic "pointed to"].

Now, a d3 data level file can be a folder outside of d3 in Windows-land; so in the case of the data level of any source code file you could arrange for the data level only to be such a directory. As each entry in the data level will then appear as a text file to Windows; you can use ANY Windows based text editor you choose. Even Notepad. No need for ODBC etc and so forth.

There is more to this, and perhaps some gotcha's but that is a start.

I recommend you get some training, or find a consultant closer to you prepared to hire out/give you assistance. I'm a bit far away!

Good luck!

David
[Sydney, Australia]

Tony Gravagno

unread,
Mar 21, 2015, 6:39:26 AM3/21/15
to mvd...@googlegroups.com
James - welcome to the group.

There's an awful lot going on in your post here, far beyond the questions you've posed. As you've provided your email address, I've just sent you an invitation for a call. I'm hoping we can chat so you can get a better idea about the challenges you're facing and the options you have available.

Tony Gravagno
Nebula R&D

Wols Lists

unread,
Mar 21, 2015, 4:27:05 PM3/21/15
to mvd...@googlegroups.com
On 20/03/15 21:20, James Martin wrote:
> *We are discussing the possibility of modernizing the PICK/Basic
> applications and writing some new applications.**I need some information
> about a good full screen editor maybe something as a plugin for eclipse
> and how to connect**to the D3 database with D3 ODBC for php. ** **I have
> many years of development in which I have written or obtain IDE(RAD)
> tools and developed my own Documentation tools**for application
> development. When I create an application using my documentation tools
> I create all the file layouts of the files and**a overview of all the
> programs and processes that become part of the installed application. I
> am planning with this D3 database to**extract all the file information
> and create with my tools and modern updated application.** *
>
> *Any help you can provide me with will be appreciated.*
>
As David said, if you make the data portion of the program-source FILE
into a Windows-level directory, you can edit the programs with the
editor of your choice - they're just ordinary text files.

The next thing to watch out for, when accessing the data, is that the
data definition is very different from relational. In Pick, the
definition (the DICT) is *de*scriptive, in relational it's
*pre*scriptive. In relational, the DATA column does not exist until it's
defined in the DICT - in Pick, the definition is optional and you could
have the same column defined 0 or 100 times. In order to export it via
ODBC you will need to make sure that you have at least one definition.
If you access the data from BASIC, you typically access it by its column
number, which you the programmer can choose at random (not a good idea,
but not a problem, either).

A neat trick there is that a DICTionary can apply to multiple DATA
files, and a DATA file can be described by multiple DICTionaries. The
master dictionary is self-referential! So for ODBC your best bet is to
create new file definitions in the MD and have a clean ODBC dict. So,
say you have a FILE called ADDRESSES, create a new FILE called
ADDRESSES_ODBC, point the data portion at the ADDRESSES data, and create
a new DICTionary portion that's specially for ODBC.

And do come back to the list and ask questions - you'll find us a
friendly bunch eager to make converts :-) I think relational is a very
useful mathematical theor?em?, but it is an absolutely USELESS
engineering tool! It forces all application<->database communication
through a set-based 1NF communication layer. Seriously! can you give me
even ONE example of real-world data that comes in concrete set form and
can be stored directly in a relational table? (Note I said "concrete" -
if you say "an accounts general ledger" I'll counter with "but that's
not concrete, that's abstract". I'll accept an invoice as a concrete
example ... :-)

In Pick, we can store a 3nf view of an object as a single "row" in a
Pick FILE. This then gives us the ability to *prove* that our data
access is optimal. Relational says "you're not allowed to know how the
database stores its data, in case we discover a better way". Pick says
"we can prove there IS NO better way". We can *prove* that a query
optimiser is more trouble that it's worth - the cost of running one is
greater than the maximum possible savings it could make.

I'll give you two real-life examples of Pick-like systems that I know
of, and a personal experience.

Example 1 - Cache recently won a shoot-out against Oracle. The
requirement was to store 100K records per second. Oracle had to cheat,
storing blobs for later processing, while Cache promptly went on to hit
250K inserts/sec in production.

Example 2 - A British company migrated from UniVerse to Oracle. Oracle
consultants spent SIX MONTHS tuning a complex query so it ran just *ten*
percent faster on the new system. The new system was a twin Xeon 800.
The old system? A Pentium 90!!!

My personal experience - A Mips R3000 system (ie roughly a 386) ran a
32-user system. It had a single hard disk, and the disk access light
flickered *continuously*. Yet we had no complaints from the users about
response speeds.

So if you want to make the data available over ODBC, and write new
relational applications in C#, or .net, or whatever, there are plenty of
people here who will say "go ahead" and help you. But if you decide to
swap out Pick for a real relational database, we'll be shaking our heads
and asking you why on earth are you flushing money down the drain making
your system far more complex, far slower, and basically much more
inefficient than it need be. Pick (any flavour) can out-relational any
true relational database using far less resources, and what's more, we
can prove it! Relational just says "you're forbidden to know what's
going on under the bonnet, just trust us".

A quick way to describe how we think about relational proponents - it's
like Galileo and the Copernican church. They were both arguing about
whether the planets *circle* the Sun, or the celestial bodies *circle*
the earth. *Both* viewpoints are a total mess, because they're using the
*wrong* maths. Relational proponents are using the wrong maths - a
2-dimensional maths. Fast forward a century, Kepler came up with an
ellipse, and suddenly planetary orbits made sense. Switch to Pick, with
n-dimensional arrays, and suddenly your complex messy relational
diagrams are much simpler and easier to comprehend.

Cheers,
Wol

Peter McMurray

unread,
Mar 21, 2015, 7:22:52 PM3/21/15
to mvd...@googlegroups.com


On Saturday, March 21, 2015 at 11:51:30 AM UTC+11, James Martin wrote:

 When I create an application using my documentation tools I create all the file layouts of the files anda overview of all the programs and processes that become part of the installed application.  I am planning with this D3 database toextract all the file information and create with my tools and modern updated application. 


I was delighted to read the first sentence as that is what I have done for 40 years, 38 of them in Pick. However the second sentence terrified me. Attempting to convert Pick three dimensional files into SQL style files is a recipe for disaster as WOL has pointed out. The current designer has a deep knowledge of how the company works. It is essential that one either gains this knowledge and designs SQL style from scratch - expensive and difficult - or accept the existing work as a design base and learn Pick - a relatively easy task if one keeps an open mind about how a file should work. In fact read GIRLS first as that is the design document - http://www.tincat-group.com/mv/girls.html .

Important point: a Pick Dictionary is designed for data display, it is not designed as a definition of the file. As designed it is brilliant however it does have a couple of gotchas given that the programmer, like me, started back at the dawn. There is a terrific default list so just typing LIST FILENAME will check to see if there are dictionary items named 1 2 3 ....N and bring it up. Unfortunately these numbers can refer to the columns on the page not the file attribute positions. I always define them one to one as attributes but others may not. 
This raises the second issue that there can be a dozen dictionary definitions for the same item depending on where it is to be printed or, often sadly, who created it. Some of them may be long out of date as a file has been expanded over time. In fact file attributes may not be defined in the dictionary at all. I would advise against ODBC as there are much better ways of interfacing D3 these days however if doing so create a list of the relevant dictionaries to use do not just default all the dictionary items.
Most importantly File dictionaries are exactly that. The first thing that we did back in 1977 was to define an application Global Dictionary that is the basis of all our programs and is used to define individual file dictionaries. In this way one avoids the tragedy of having something defined as PRODUCT code for example turning up as six numeric in one file and 10 alphanumeric somewhere else.
A further benefit of the dictionary type is the ability is the ability to design joins and calculations in seconds. The age of the system suggests that many of them are F type that is using Reverse Polish Notation like a scientific calculator. Algebraic definitions came much later as apparently some people could not understand maths. C'est la vie. I stick to F types and the machine actually converts A types to F types before using them.
An absolutely major difference these days is program definition. In the beginning programs were large totally self contained items. In fact a 32Kb limit meant that some were an amalgamation of monstrous includes - I have seen a 1000 line include that referenced subroutines in the main line AAAARRRGH!!  Nowadays the preference is for small subroutines that do one job and go like lightning. Absolutely essential if one is using data entry methods outside the Pick environment, for example a file update routine that can be called from anywhere and is the only place that is used for update is great. In my opinion that should always be in Pick Basic = FlashBasic in the D3 environment, as that is optimised for the job.
TG has offered his services for a fee and you could save a lot of time and money going down that path with someone like that especially as an initial design route.
By the way James as I was writing this I had a thought nagging at the back of my mind that I had read several books by you. Then I realised that that gentleman was no longer with us - a relative perhaps. If so then your background in decent system design is second to none, the multi-value world welcomes you.

Simon Cristian Egger Scorer

unread,
Jun 16, 2015, 1:53:43 PM6/16/15
to mvd...@googlegroups.com
Hello David

Can you pleas tell me how I can create a d3 data level file in a folder outside of d3 in Windows-land for use e ANY Windows based text editor.

Thanks Simon
[Barcelona, Spain]


El sábado, 21 de marzo de 2015, 9:15:04 (UTC+1), David Knight escribió:
Hello James,
Here is a brief outline of some ideas. I'd like to claim them all as my own; but honestly: Tony Gravagno suggested something like this one to me; and it's rather neat.

You may need to obtain some training; so if the following makes limited sense; I'm sorry!

In d3, files have two sections or 'levels' typically. A 'dictionary' and a 'data' level. A file which contains application code would have the source held in the data level, and complied [executable] code stored in the dictionary [or to be pedantic "pointed to"].

Now, a d3 data level file can be a folder outside of d3 in Windows-land; so in the case of the data level of any source code file you could arrange for the data level only to be such a directory. As each entry in the data level will then appear as a text file to Windows; you can ustor you choose. Even Notepad. No need for ODBC etc and so forth.
e ANY Windows based text edi

David Knight

unread,
Jun 16, 2015, 7:04:39 PM6/16/15
to mvd...@googlegroups.com
Sure, here is what I did so that a Windows directory could be seen as a d3 file.

Firstly create the target folder in a directory your d3 server can 'see': ideally on the same server.

For example, in a small project I created I needed a folder called "TDAWORK" sitting on the "S:" drive the same server d3 lives on. [NB: Theorectically, this could be a mapped drive letter to another server; but I prefer not to do that.]

So, using Windows Explorer, navigate to the the drive letter you want, right-click & "Add New" --> Folder. Rename it to what you want. Check the permissions of the folder are basically wide open so anything/anyone can read/write to it.

Then, back in d3, at TCL in the account which needs to 'see' this folder, create an MD entry like:

          
001 Q                   
002                     
003 DOS:S:/TDAWORK      


I assume you know how to use ED? This is simply a Q-pointer 'pointing' to the directory using the "DOS:" modifier. Other who know far more than I can tell you about the various alternatives to "DOS:" and what it does, but I like to think of it as a bi-directional filter as well as easily setting up access to the external folder. Note the slashes are FORWARD slashes, whereas in Windows they are BACKWARD slashes. That is not a mistake! It is required syntactically.

Now this is created you can do things in d3 like:

SORT TDAWORK..... etc etc

Now, if you want this method to be just for the DATA level of [say] a basic program file where the dictionary has to be in d3; the concept is the same; except in d3 you would create the program file as a single-level file; and put this Q pointer into the dictionary of the file instead of the MD. In that way the dictionary of the file 'points-to' a data level which is out in Windows-land; thus allowing you to edit basic programs via a Windows based text editor. Note, however the actual compilation would still have to occur inside d3 from TCL.

I am assuming you know that, and understand what I mean.

I strongly recommend you use the d3 reference manual to read up on such matters. It is very comprehensive; with an excellent search facility.

There is so much to learn, use this forum and if you can, engage the services of someone to teach you. Contact your VAR if you have one, or your Rocket distributor in your area.

Combined Resource

unread,
Jun 16, 2015, 11:02:44 PM6/16/15
to mvd...@googlegroups.com
If your primary goal is to modernize then you might like to look at using Node.js and jdbc driver support. I guess your stuff is probably older than Node.js

Simon Cristian Egger Scorer

unread,
Jun 17, 2015, 7:01:38 AM6/17/15
to mvd...@googlegroups.com

Dear David


Thank you so much for you explaining me how to do this, it is very helpful and y explained it very well. Tomorrow Thursday I will be in the company where I need this and I will try to do this as you were explaining me.

With Creating a single-level file and put Q pointer into the Dictionary you men this?

 

CREATE-FILE DICT TDAWORK 31

and after this

ED DICT TDAWORK TDAWORK

001 Q                   

002                     

003 DOS:S:/TDAWORK      

FS

Is this right?

 

 I worked a lot of years with the Pick Sytem R83 and the company where I was programming with Pick Sytem R83 some years ago the updated de Pick R83 to D3, put I still programming in the D3 as I did it with the R83, but I know that D3 has more power and there are a lot of things which cut be programmed better an easy, put I do not know how. Could you please say me where I could find examples and help for doing this?

 

Thank you very much for helping me, best regards

Simon

[Barcelona, Spain]

--
You received this message because you are subscribed to
the "Pick and MultiValue Databases" group.
To post, email to: mvd...@googlegroups.com
To unsubscribe, email to: mvdbms+un...@googlegroups.com
For more options, visit http://groups.google.com/group/mvdbms

David Knight

unread,
Jun 17, 2015, 10:51:44 AM6/17/15
to mvd...@googlegroups.com
Hello Simon,
Thank you for your kind comments.

There is a wealth of information available via this forum and others; and most are happy to assist.

To answer your question, yes, you have the steps correct; although there is one quirk in the TCL editor:

If you press <Enter> on a blank line; the editor assumes you are done inserting and returns you to the dot prompt.

Instead at line 002; you "cheat" by inserting an attribute mark first by holding down Ctrl & pressing ^ [which is in fact Ctrl-Shift-6] and then typing what you want for line 003; when you eventually press enter on a blank line, returning you to the dot prompt; you will find if you "F" for flip; then "P" to list the first 20 lines; you will see you have what you wanted.

ED was like this in the R83 days [which is roughly where I started, too] and the good news is it is still largely the same; except MORE has been added!

I recommend you contact your VAR [if you have one], or the d3 distributor in your country, or failing that Rocket software directly; and ask about becoming a VAR.

You can then obtain a copy of d3/win for yourself, which comes with the manuals etc; and full access to support.

For me it took a few years [many years ago!] to become familiar with d3 [R83/AP etc]; and I remember one day having this amazing "a-hah!" moment when it all fell into place so elegantly and beautifully; which is why i am such a raving fan of d3. IMHO it is far superior to anything else I have ever seen 'out there' and certainly better than 'mainstream' offerings.

Having just attended a Rocket techdays training day held in Sydney where a glimpse of the power of d3 when accessed via web-services [new to v9], has blown me away; because conceptually one can now get 'the best of both worlds': the power flexibility and full d3 'experience' AND use mainstream tools pretty much of your choice to build the UI. For example using ECLIPSE IDE, or ANGULAR-JS etc; but that should be another thread!

Which reminds me: our illustrious moderator did ask for replies to stay on-topic; and this has already wandered off... if you want to discuss this specific issue further; I recommend starting a new thread...

IF I can give you one tip - investigate FLASH compiling.....

Cheers,

David

Simon Cristian Egger Scorer

unread,
Jun 19, 2015, 8:31:53 AM6/19/15
to mvd...@googlegroups.com
Dear David

Thank you for explaining me the how add a blank line with the ED this was something new for me I didn't know.
The problem is that my work with D3 only are about 5 o 6 hours a week and there I haven't time for looking nothing new.
So I still programming in the DATA BASIC of R83 and R93, to you know where I can find Basic examples for scrolling and things like that so I haven't to programming al by my own? A few year ago I was doing this put I cant find the source code.
At least what is FLASH compiling where can I find something about it.

Thank you so much for your help, best regards
Simon

[Barcelona, Spain]

Tony Gravagno

unread,
Jun 19, 2015, 2:07:07 PM6/19/15
to mvd...@googlegroups.com, simon.el...@gmail.com
Simon, I wrote a couple articles on FlashBASIC that should help:
http://nebula-rnd.com/blog/tech/mv/2008/04/d3flash1.html
http://nebula-rnd.com/blog/tech/mv/d3/2009/06/d3flash2.html

Rather than using the ED command which is really primitive, I recommend using the UPdate processor along with a keyboad mapping. This gives you full screen editing ability within D3 using common page navigation keys like arrows, Home/End, Ins/Del, etc. The map is here:
http://www.pickwiki.com/index.php/AccuTermKeyboardMapping

If you do have AccuTerm, for a better screen experience similar to NotePad+, you can use the built-in WED editor. I published an extended set of keywords for syntax highlighting:
http://www.pickwiki.com/index.php/AccuTermKeywords (update for that will be posted in a few days)

Finally, if you have any interest, there is an implementation of vi built-in to D3, so "vi programName itemName"

HTH
T

Doug Averch

unread,
Jun 19, 2015, 3:13:16 PM6/19/15
to mvd...@googlegroups.com, simon.el...@gmail.com
[ad]
U2logic has ported its XLr8Editor to D3.  We are a few days away from releasing it.  We could not resisted talking about this at this time.

The XLr8Editor runs in the Eclipse IDE which is used by millions and millions of programmers.  You can download other editors such as PHP so that all of your programming can be in one tool.  XLr8Editor has been used in the U2 database since 2004, so we have been around a while.  We have this wonderful technology we call continuous compile which allows you to see you syntax errors as you type. You have the ability to see all of the files in the account and open records that are not programs as well.

If you are interested you can send us an email, so that you can be notified when you can download XLr8Editor for D3.  Pricing is $110.00 per year per workstation and we update our products at least once a month which no tools company in the "PICK" world is doing.

Regards,
U2logic Team
[/ad]

David Knight

unread,
Jun 20, 2015, 3:19:47 AM6/20/15
to mvd...@googlegroups.com, simon.el...@gmail.com
Hi Tony,

Isn't "vi" only on d3/*nix; not d3/win?

David Knight

unread,
Jun 20, 2015, 3:39:15 AM6/20/15
to mvd...@googlegroups.com
Hi Simon,
Glad to be of help. Tony G provides you with some other [better?] alternatives, too.

Can't help you with scrolling sub-routines; but implied in your comment is you are building UI into you application, which as many here will tell you; is no longer a great way to go!

UI is much better built with current whizz-bang tools-de-jour, especially things like Eclipse or AngularJS; and 'talking' to your d3 back-end application which contains subroutines which are the business rules; which in turn are exposed via MVToolkit as web-services. This is a massive paradigm-shift for many [self, definitely included there; but I'm getting there]; but the benefits are enormous. Before the flames start - this is but ONE method, there are many others, and each is more or less suitable to your needs on a application-by-application basis!

So, when I hear you ask about how to code/support scrolling I'm thinking "you are asking the wrong question, because you are on the wrong track". I say that with the greatest respect and no desired to put you down or patronise you. But it could well be true....

Whoever is paying you may well be better served by you investing your time in bringing the project/application up to speed with more modern tech. Not the least of which would be an immediate migration from whatever you are on to d3/win v9 [or even v10 due out soon]. In general the app, source etc and data will migrate perfectly - but you should test first.

Which brings us back once again to contacting a VAR, distributor or Rocket directly. They will be glad to help. People on this forum will help too; but may not give you the answer you are looking for. Like this answer is not what you are looking for, but is likely a better answer! ;>)

Finally, Flash-compiling basically executes faster. Much, much faster. On d3/win it produces optimised tokenised code [you know basic produces tokenised code which is interpreted at run-time, right?]; on d3/*nix it takes it further and compiles down to machine-code which I'm told is blazingly fast. There are some issues with Flash which means you need access to the manual & support; which means you need access to [you guessed it!], VAR, distributor or Rocket software!

Am I starting to sound like a broken record, here?

You need to get in touch with your VAR, distributor of Rocket software; OR hire someone who knows all this for you & can teach you. But as this is only a 5-6 hours a week project for you, I doubt that is a viable option! So you'll have to teach yourself by getting your hands on d3 & the manual; which requires [guess what?] contacting your VAR, distributor or Rocket direct!!

Did I mention you should contact your VAR, distributor or Rocket direct? I think that would be a good idea.

Kidding aside, good luck with the project; I wish you well; and add threads to this forum asking questions. As for code repositories, I believe some exist; but I know not where they are.

Simon Cristian Egger Scorer

unread,
Jun 23, 2015, 8:36:48 AM6/23/15
to mvd...@googlegroups.com
Hello Toni

Thank you very much for this interesting information. 
I was doing  what David me told and it works great I can now use the NotePad++ for edit the source code
Put I remember when was programming the scroll routines for visualising a information of a table so the client can select after this one register I was doing keyboard mapping en the Accuterm for use the arrows, Home/End, Ins/Del, etc.
So I will have a look at your information.
And the AccuTermKeywords are also very helpful for defining the Keywords en NotePad++, but when I have a moment I also will have a look at the built-in WED editor.

Thank you very much for your helpful information
Best regards
Simon Egger


Simon Cristian Egger Scorer

unread,
Jun 23, 2015, 12:55:49 PM6/23/15
to mvd...@googlegroups.com
Hello David

Yesterday I was done what you where telling me for create a d3 data level file in a folder outside of d3 in Windows-land
and it works great.
I don't know if it possible tu include UI in my Application because its all programmed with DataBasic more then 200 of programmes and I think that this means to program all new.
I will have a look if I can find a distributor of Rocket software here in Spain and will ask them what is the best way to convert the exiting Application in a new application.

Thank you so much for your help and your ideas you where giving me
Best regards from Spain
Simon Egger

Tony Gravagno

unread,
Jun 23, 2015, 1:15:29 PM6/23/15
to mvd...@googlegroups.com, jmarti...@gmail.com
James, this thread got hijacked but you never responded. I'm curious where your research is leading.


On Friday, March 20, 2015 at 5:51:30 PM UTC-7, James Martin wrote:

...
I am doing some joint work with them and need to find out all I can about using PICK/Basic...

Tony Gravagno

unread,
Jun 23, 2015, 1:37:30 PM6/23/15
to mvd...@googlegroups.com, simon.el...@gmail.com
You can use your BASIC programs as a back-end and write GUI in a separate middle-tier using PHP, Java, .NET or any other language/framework.
I wrote articles about this (and LOTS of other things) here:
http://nebula-rnd.com/blog/tech/mv/2011/08/mv2web1.html

I have emailed a colleague in Spain who might be able to help - Joseba Real de Asua.

Good luck.
(Please create new forum threads for new discussions, thanks.)

Tony Gravagno

unread,
Jun 23, 2015, 2:05:35 PM6/23/15
to mvd...@googlegroups.com, david...@matash.com.au
That's correct. I was commenting about general capabilities rather than platform-specific. Didn't even think about vi not applying to the OP's in this thread. Thanks.
Message has been deleted

joseba

unread,
Jun 23, 2015, 2:31:18 PM6/23/15
to mvd...@googlegroups.com
Hola Simón:
Yo estoy en Bilbao. Puedes localizarme en el correo electronico frelance-quita esto guión incluido @sarenet.es .

joseba real de asua

Thanks a lot Tony, i will Skype you one of these nights (day for you)
Reply all
Reply to author
Forward
0 new messages