14. Apr. 2010 

Two new TechTips became available:

Both are nice to have. Copied the Mac-variant into my Test-method. Run, doesn't work.

regexMAC

My colleague told, runs just fine on my Windows-machine. May be a Copy&Paste TechTip-tumbling. Yes, couple of, sort of.

here we go

Jepp, the Syntax-Error is leading into something completely different. The reason is simple:
found:= Match regex (regex; text; alPos; alLength)
is nonsens. Correct is:
found:= Match regex (regex; text; OFFSET; alPos; alLength)
Ist not Regex, it's the parameter-count. *rofl*

single solution

While fixing, it makes no sense to have two variants, or does it?
I'd like something like Environment_Tool("MACaddress_Get";->$a_MACaddress_T) which means: get me the MAC-addresses and deliver into the given Array Text on any platform 4D supports.

This is my solution. It works on MacOSX.6.x, do tests on Windows, when I'm on Windows next week. Feedback welcome!

`Environment_Tool
`1 do what
`2 Pointer Object
ARRAY LONGINT($pos_Found_a;0)
ARRAY LONGINT($length_Found_a;0)
ARRAY TEXT($foundMacs_at;0)
C_LONGINT($start;$vlPlatform;$vlSystem;$vlMaschine)
C_BOOLEAN($found)
C_TEXT($substr;$search;$inputVar;$outputVar)
PLATFORM PROPERTIES($vlPlatform;$vlSystem;$vlMaschine)
$inputVar:=""
If (($vlPlatform=Windows ))
  SET ENVIRONMENT VARIABLE("_4D_OPTION_HIDE_CONSOLE";"true")
  LAUNCH EXTERNAL PROCESS("cmd.exe /C ipconfig /ALL";$inputVar;$outputVar)
  $search:="([0-9A-F]{2}-){5,13}[0-9A-F]{2}"
Else
  LAUNCH EXTERNAL PROCESS("/sbin/ifconfig -a";$inputVar;$outputVar)
  $search:="([0-9a-f]{1,2}:){5,13}[0-9a-f]{1,2}"
End if
If ($outputVar#"")
  $start:=1
  Repeat
    $found:=Match regex($search;$outputVar;$start;$pos_Found_a;$length_Found_a)
    If ($found)
       $start:=$pos_Found_a{0}+$length_Found_a{0}
       If ($vlPlatform=Windows )
         `I'm not in the mood, firing up Windows to test that part.
         $substr:=Substring($outputVar;$start;$pos_Found_a{0};$length_Found_a{0})
       Else
         $substr:=Substring($outputVar;$pos_Found_a{0};$pos_Found_a{1}-$pos_Found_a{0}+5)
       End if
       APPEND TO ARRAY($foundMacs_at;$substr)
     End if
   Until (Not($found))
  COPY ARRAY($foundMacs_at;$P_Self->)
End if

4D themes: fresh from the workbench

imagecurrently available in englisch:
NEW: Macros in V12.4
Mission Control and V12

Better machine-translated than non comprende! - Tidy up when done - New kinds of buttons - My own Preferences - DBZ-Calendar component - module-manager and code-blocks - As simple as possible: fulltext-field - V12 and QUERY BY SQL - Updating the User-Interface into today - Rotate Barcodes by 90° - UUID: that special kind of empty - Dynamic Labels - Printing Subforms in V12 - systemtables - structure info - Integrating Addressbook and 4D - SVG and 4D HTML-Tag - Automatic Comments of the Methodeditor - fighting to get ics-files into Outlook - hierarchical lists as datacontainer - UI-changes in V12 - HTML-email and 4D Write - Simple & Lazy - David Dancy … extracting the information that's encoded in a 4D structure file - SVG and 4D - David Adams about Mockup and Wireframing - retrieving MAC-addresses - sampler listbox-templates - Listboxes with footers - Simulating Sub-Pages on Multi-Page Forms - MySQL dump - Dreaming of a rich-text-editor in 4D - iPhone and 4D - email-communication - 4D Write and HTML - Which Web-Editor - Integration of 4D and Web - Cursor-movement in Listboxes - Integrating an Excel-workflow into 4D - Database Photography - Parcels and Ownerinformation atop satellite maps

Components

  • DBZ - Listboxnavigator
  • DBZ - SystemTables
  • DBZ - Calendar