Skip to content

Commit

Permalink
fixed links
Browse files Browse the repository at this point in the history
  • Loading branch information
tbleken committed Apr 17, 2018
1 parent d0ad2b8 commit 64923fc
Show file tree
Hide file tree
Showing 52 changed files with 110 additions and 77 deletions.
5 changes: 2 additions & 3 deletions libraries/gdiplus/GdipCreateMatrix2.md
Expand Up @@ -5,7 +5,7 @@ Group: [GDI+ Matrix](../../functions_group.md#GDIplus_Matrix) - Library: [gdip
***


#### Creates and initializes a a 3 ×3 matrix that represents an affine transformation.
#### Creates and initializes a 3x3 matrix that represents an affine transformation.
***


Expand Down Expand Up @@ -74,8 +74,7 @@ Returns GpStatus value; 0 means success.
## Comments:
The affine transformation is a transformation that is a combination of single transformations such as translation or rotation or reflection on an axis.

Read <a href="http://www.bobpowell.net/mappingmodes.htm">Comparing GDI mapping modes with GDI+ transforms</a> and other articles on GDI+ written by Bob Powell, MVP.


See also: [GdipCreateMatrix](../gdiplus/GdipCreateMatrix.md), [GdipDeleteMatrix](../gdiplus/GdipDeleteMatrix.md).

***
Expand Down
2 changes: 0 additions & 2 deletions libraries/iphlpapi/SendARP.md
Expand Up @@ -61,8 +61,6 @@ If the function succeeds, the return value is NO_ERROR (0).
The ARP (<a href="http://www.erg.abdn.ac.uk/users/gorry/course/inet-pages/arp.html">Address Resolution Protocol</a>) request attempts to obtain the physical address (MAC address) that corresponds to this IP address.

* * *
<a href="http://www.dhcp-handbook.com/dhcp_faq.html">Dynamic Host Configuration Protocol (DHCP) FAQ</a>

Christian Ehlscheid offered this code on UniversalThread as a solution for obtaining physical address for a given ip address:

```foxpro
Expand Down
3 changes: 1 addition & 2 deletions libraries/kernel32/MapViewOfFile.md
Expand Up @@ -68,8 +68,7 @@ Mapping a file makes the specified portion of the file visible in the address sp

For files that are larger than your address space, you can only map a small portion of the file data at a time. When you are through with the first view, then you unmap it and map a new view.

Read an article on the Miscrosoft Help And Support web site: <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;188535">HOWTO: Sharing Data Between Processes Using Memory-Mapped Files</a>


See also: [MapViewOfFileEx](..//MapViewOfFileEx.md), [OpenFileMapping](..//OpenFileMapping.md), [UnmapViewOfFile](../kernel32/UnmapViewOfFile.md).

***
Expand Down
2 changes: 1 addition & 1 deletion libraries/kernel32/SetVolumeMountPoint.md
Expand Up @@ -49,7 +49,7 @@ If the function succeeds, the return value is nonzero.
## Comments:
Handle this function with care.

This function works similar to the <a href="http://support.microsoft.com/?kbid=205524">MOUNTVOL.EXE</a> utility -- <Em>creates, deletes, or lists a volume mount point</Em>.
This function works similar to the MOUNTVOL.EXE utility -- <Em>creates, deletes, or lists a volume mount point</Em>.
```dos
MOUNTVOL [drive:]path VolumeName
MOUNTVOL [drive:]path /D
Expand Down
5 changes: 3 additions & 2 deletions libraries/kernel32/WinExec.md
Expand Up @@ -74,8 +74,9 @@ The native VFP command RUN | ! Command probably uses the same way, though I feel

Microsoft says:
If a malicious user were to create an application called "Program.exe" on a system, any program that incorrectly calls WinExec using the Program Files directory will run this application instead of the intended application.

<a href="videos/WinExec.wmv">Watch a short video</a> to see how to use the WinExec in VFP.

<!-- Anatoliy
<a href="videos/WinExec.wmv">Watch a short video</a> to see how to use the WinExec in VFP. -->

***

2 changes: 0 additions & 2 deletions libraries/mpr/WNetAddConnection.md
Expand Up @@ -57,8 +57,6 @@ This function is provided only for compatibility with 16-bit versions of Windows

Links:

<a href="http://www.cae.wisc.edu/fsg/winnt/netuse.html">Using the <Strong>net use</Strong> command</a>.

[Command-line NT: It does exist!](https://www.itworld.com/article/2798267/operating-systems/command-line-nt--it-does-exist-.html)

***
Expand Down
3 changes: 1 addition & 2 deletions libraries/shlwapi/HashData.md
Expand Up @@ -57,7 +57,6 @@ Returns S_OK (0) if successful, or a standard OLE error value otherwise.

## Comments:
See also: [UrlHash](UrlHash.md ).
See <A href="http://www.webopedia.com/TERM/H/hashing.html">Webopedia: Hashing</A>


***

3 changes: 2 additions & 1 deletion libraries/user32/GetDC.md
Expand Up @@ -58,8 +58,9 @@ If the function succeeds, the return value identifies the device context for the


## Comments:
<!-- Anatoliy
<a href="http://www.news2news.com/vfp/?article=12&src=GetDC"><img src="../../images/windowdevicecontexts.png" border=0></a>

-->
See also: [GetWindowDC](../user32/GetWindowDC.md), [WindowFromDC](../user32/WindowFromDC.md).

***
Expand Down
4 changes: 3 additions & 1 deletion libraries/user32/GetWindowDC.md
Expand Up @@ -89,8 +89,10 @@ If the function succeeds, the return value is the handle of a device context for


## Comments:
<!-- Anatoliy
<a href="http://www.news2news.com/vfp/?article=12&src=GetWindowDC"><img src="../../images/windowdevicecontexts.png" border=0></a>

-->

See also: [GetDC](../user32/GetDC.md), [WindowFromDC](../user32/WindowFromDC.md), [ReleaseDC](../user32/ReleaseDC.md), [DeleteDC](../gdi32/DeleteDC.md).

***
Expand Down
3 changes: 2 additions & 1 deletion libraries/user32/MessageBox.md
Expand Up @@ -65,11 +65,12 @@ Right-to-left MessageBox (see Usage code above):
<img src="../../images/messagebox_rtl.png">

* * *
<!-- Anatoliy
Click on the picture below to download
Extended MessageBox library (FLL) for Visual FoxPro.
<a href="http://www.news2news.com/vfp/?solution=3"><img src="../../images/udficon_skype.png" border=0 alt="Download MsgBox FLL"></a>

-->

***

Expand Down
4 changes: 3 additions & 1 deletion libraries/winscard/SCardConnect.md
Expand Up @@ -66,9 +66,11 @@ Returns SCARD_S_SUCCESS (0) or error code.


## Comments:
<!-- Anatoliy
Purchase complete VFP solution.
<a href="http://www.news2news.com/vfp/?solution=2&src=fn1140"><img src="../../images/acos3_270_48.png" width=270 height=48 border=0 vspace=5 hspace=5 alt="Download ACOS3 Class Library"></a>

-->

See also: [SCardReconnect](..//SCardReconnect.md), [SCardDisconnect](../winscard/SCardDisconnect.md).

***
Expand Down
4 changes: 4 additions & 0 deletions libraries/winscard/SCardEstablishContext.md
Expand Up @@ -55,8 +55,10 @@ If the function succeeds, the function returns SCARD_S_SUCCESS (0).


## Comments:
<!-- Anatoliy
Purchase complete VFP solution.
<a href="http://www.news2news.com/vfp/?solution=2&src=fn1132"><img src="../../images/acos3_270_48.png" width=270 height=48 border=0 vspace=5 hspace=5 alt="Download ACOS3 Class Library"></a>
-->

Upon successful call the <Em>phContext</Em> handle can be supplied to other functions attempting to do work within this context.

Expand All @@ -66,7 +68,9 @@ The error code SCARD_E_NO_SERVICE (0x8010001D), <Em>"The smart card resource man

The error code SCARD_E_NO_READERS_AVAILABLE (0x8010002E) speaks for itself.


See also: [SCardReleaseContext](../winscard/SCardReleaseContext.md).


***

5 changes: 4 additions & 1 deletion libraries/winscard/SCardTransmit.md
Expand Up @@ -68,9 +68,12 @@ Returns SCARD_S_SUCCESS (0) or error code.


## Comments:

<!-- Anatoliy
Purchase complete VFP solution.
<a href="http://www.news2news.com/vfp/?solution=2&src=fn1143"><img src="../../images/acos3_270_48.png" width=270 height=48 border=0 vspace=5 hspace=5 alt="Download ACOS3 Class Library"></a>

-->

The SCardTransmit function is a smart card and reader access function.

See also: [SCardConnect](../winscard/SCardConnect.md).
Expand Down
3 changes: 2 additions & 1 deletion samples/sample_038.md
Expand Up @@ -127,7 +127,8 @@ _screen.Visible = .T.
Another option is using SCREEN=OFF and COMMAND settings in VFP configuration file. The COMMAND should start a program that sets application ID and then turns the main window on.

* * *
Setting application ID for an individual VFP top-level form requires access to the [IPropertyStore](http://msdn.microsoft.com/en-us/library/bb761474(v=vs.85).aspx) interface. Apparently it can be done only through writing an external library. A fragment of such FLL is shown in <a href="?example=38&ver=vcpp">C++ section</a> of this code sample.
<!-- Anatoliy
Setting application ID for an individual VFP top-level form requires access to the [IPropertyStore](http://msdn.microsoft.com/en-us/library/bb761474(v=vs.85).aspx) interface. Apparently it can be done only through writing an external library. A fragment of such FLL is shown in <a href="?example=38&ver=vcpp">C++ section</a> of this code sample. -->

* * *
If a window owns an explicit application ID, calling the GetProp with this window handle and property name "{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3} 5" returns valid data handle (IPropertyStore ?).
Expand Down
3 changes: 2 additions & 1 deletion samples/sample_043.md
Expand Up @@ -6,7 +6,8 @@
See also:

* [Custom FTP Class for Visual FoxPro application](sample_344.md)
* [Programming File Transfer Protocol in Visual FoxPro ](?article=3)
<!-- Anatoliy * [Programming File Transfer Protocol in Visual FoxPro ](?article=3)
-->

***

Expand Down
5 changes: 3 additions & 2 deletions samples/sample_046.md
Expand Up @@ -2,11 +2,12 @@

# Retrieving list of files on the FTP directory

## Before you begin:
<!-- Anatoliy ## Before you begin:
<table cellspacing=3 cellpadding=0 border=0><tr><td valign=top><img src="../images/readarticle.gif" border=0></td><td valign=top class=fdescr><a href="?article=3">Programming File Transfer Protocol in Visual FoxPro </a></td></tr></table>
***
*** -->


## Code:
Expand Down
7 changes: 5 additions & 2 deletions samples/sample_059.md
Expand Up @@ -3,14 +3,17 @@
# Using FtpCommand

## Before you begin:
<!-- Anatoliy
<table cellspacing=3 cellpadding=0 border=0><tr><td valign=top><img src="../images/readarticle.gif" border=0></td><td valign=top class=fdescr><a href="?article=3">Programming File Transfer Protocol in Visual FoxPro </a></td></tr></table>
-->
See also:

* [Winsock: accessing FTP](sample_386.md)

<!-- Anatoliy
Complete FTP solution:
<a href="http://www.news2news.com/vfp/?solution=1&src=x59"><img src="../images/ftplib_270_48.jpg" width=270 height=48 border=0 vspace=5 hspace=5 alt="Download FTP Class Library"></a>

-->

***

Expand Down
3 changes: 2 additions & 1 deletion samples/sample_061.md
Expand Up @@ -3,9 +3,10 @@
# Uploading local file to FTP server with FtpPutFile

## Before you begin:
<!-- Anatoliy
<table cellspacing=3 cellpadding=0 border=0><tr><td valign=top><img src="../images/readarticle.gif" border=0></td><td valign=top class=fdescr><a href="?article=3">Programming File Transfer Protocol in Visual FoxPro </a></td></tr></table>
The FtpPutFile stores a file on the FTP server in a single operation. You can not have a close control over the file transfer that you may need, for example, for displaying a progress bar. For those situations you should use the FtpOpenFile and InternetWriteFile functions.

-->
See also: [Uploading file to the FTP server using InternetWriteFile](sample_062.md).


Expand Down
4 changes: 2 additions & 2 deletions samples/sample_062.md
Expand Up @@ -2,12 +2,12 @@

# Uploading file to the FTP server using InternetWriteFile

## Before you begin:
<!-- Anatoliy ## Before you begin:
<table cellspacing=3 cellpadding=0 border=0><tr><td valign=top><img src="../images/readarticle.gif" border=0></td><td valign=top class=fdescr><a href="?article=3">Programming File Transfer Protocol in Visual FoxPro </a></td></tr></table>
***

-->

## Code:
```foxpro
Expand Down
4 changes: 2 additions & 2 deletions samples/sample_063.md
Expand Up @@ -2,13 +2,13 @@

# Downloading files from the FTP server using InternetReadFile

## Before you begin:
<!-- Anatoliy ## Before you begin:
<table cellspacing=3 cellpadding=0 border=0><tr><td valign=top><img src="../images/readarticle.gif" border=0></td><td valign=top class=fdescr><a href="?article=3">Programming File Transfer Protocol in Visual FoxPro </a></td></tr></table>
Make sure that source and target files are valid path values.
***

-->

## Code:
```foxpro
Expand Down
4 changes: 2 additions & 2 deletions samples/sample_068.md
Expand Up @@ -2,12 +2,12 @@

# Retrieving the state of your Internet connection

## Before you begin:
<!-- Anatoliy ## Before you begin:
<table cellspacing=3 cellpadding=0 border=0><tr><td valign=top><img src="../images/readarticle.gif" border=0></td><td valign=top class=fdescr><a href="?article=3">Programming File Transfer Protocol in Visual FoxPro </a></td></tr></table>
***

-->

## Code:
```foxpro
Expand Down
2 changes: 1 addition & 1 deletion samples/sample_076.md
Expand Up @@ -5,7 +5,7 @@
## Before you begin:
See also:

* [LanguageBar ActiveX control](?solution=7)
<!-- Anatoliy * [LanguageBar ActiveX control](?solution=7) -->
* [Retrieving national language settings](sample_077.md)
* [Switching between keyboard layouts](sample_275.md)

Expand Down
2 changes: 1 addition & 1 deletion samples/sample_077.md
Expand Up @@ -5,7 +5,7 @@
## Before you begin:
See also:

* [LanguageBar ActiveX control](?solution=7)
<!-- Anatoliy * [LanguageBar ActiveX control](?solution=7) -->
* [Saving available locale records into a cursor](sample_076.md)
* [Switching between keyboard layouts](sample_275.md)

Expand Down
2 changes: 1 addition & 1 deletion samples/sample_117.md
Expand Up @@ -9,7 +9,7 @@ After starting this code sample, try to add, change or delete files in the targe

See also::

* [FileSystemWatcher ActiveX Control for Visual FoxPro](?solution=8)
<!-- Anatoliy * [FileSystemWatcher ActiveX Control for Visual FoxPro](?solution=8) -->
* [Monitoring changes occurring within a directory](sample_400.md)
* [Enumerating files opened on the network](sample_121.md)

Expand Down
2 changes: 1 addition & 1 deletion samples/sample_121.md
Expand Up @@ -27,7 +27,7 @@ BROWSE NORMAL NOWAIT
```
See also:

* [FileSystemWatcher ActiveX Control for Visual FoxPro](?solution=8)
<!-- Anatoliy * [FileSystemWatcher ActiveX Control for Visual FoxPro](?solution=8) -->
* [Monitoring changes in a directory](sample_117.md)
* [Enumerating global and local group accounts on a server](sample_411.md)
* [Obtaining names of local and global groups for current user](sample_431.md)
Expand Down
2 changes: 1 addition & 1 deletion samples/sample_158.md
Expand Up @@ -10,7 +10,7 @@ The window handle of the form is obtained through GetFocus function. For that a
See also:


<a href="http://www.news2news.com/vfp/?solution=9"><img src="../images/screencapture_270_48.png" width=270 height=48 border=0 alt="Download ScreenCapture Library"></a>
<!-- Anatoliy <a href="http://www.news2news.com/vfp/?solution=9"><img src="../images/screencapture_270_48.png" width=270 height=48 border=0 alt="Download ScreenCapture Library"></a> -->

* [How to print a FoxPro form using Metafile API functions](sample_406.md)
* [GDI+: sending image of FoxPro form to printer ](sample_455.md)
Expand Down
1 change: 0 additions & 1 deletion samples/sample_179.md
Expand Up @@ -3,7 +3,6 @@
# Creating hash values for the list of names

## Before you begin:
<a href="http://www.webopedia.com/TERM/H/hashing.html">Webopedia: Hashing</A>)

Hashing is also a common method of accessing data records. Considering a list of names, you can create an index, called a *hash table*, for all these names, when you would apply a formula to each name to produce a ***unique*** numeric value.

Expand Down
2 changes: 1 addition & 1 deletion samples/sample_187.md
Expand Up @@ -10,7 +10,7 @@ Check similar example [Storing screen shot of a form to enhanced metafile (*.emf
See also:


<a href="http://www.news2news.com/vfp/?solution=9"><img src="../images/screencapture_270_48.png" width=270 height=48 border=0 alt="Download ScreenCapture Library">
<!-- Anatoliy <a href="http://www.news2news.com/vfp/?solution=9"><img src="../images/screencapture_270_48.png" width=270 height=48 border=0 alt="Download ScreenCapture Library"> -->

* [GDI+: saving image of FoxPro form to graphics file (BMP, GIF, JPG, PNG, TIF) ](sample_454.md)
* [Printing the image of a FoxPro form](sample_158.md)
Expand Down
5 changes: 3 additions & 2 deletions samples/sample_197.md
Expand Up @@ -4,9 +4,10 @@

## Before you begin:
With this code you can reach the list of examples on this reference from your VFP application through HTTP connection.

<!-- Anatoliy *Many errors in this document!! delete it? (Tore Bleken) -->
![](../images/rmt_shell.png)
Downloadable code samples are available for <a href="?generic=project#membership">registered annual subscribers</a>.
<!-- Anatoliy Downloadable code samples are available for <a href="?generic=project#membership">registered annual subscribers</a>.
-->

Try similar example [Accessing examples contained in this reference through Web Services](sample_469.md) (requires VFP8).

Expand Down
6 changes: 2 additions & 4 deletions samples/sample_275.md
Expand Up @@ -16,10 +16,8 @@ In VFP9, this form also tracks input language changes initiated by a hot key or
See also:


* [LanguageBar ActiveX control](?solution=7)

* <a href="?solution=7"><img src="solutions/images/langbar_control/langbar_contextmenu.png" border="0"></a>

<!-- Anatoliy * [LanguageBar ActiveX control](?solution=7) -->
<!-- Anatoliy * <a href="?solution=7"><img src="solutions/images/langbar_control/langbar_contextmenu.png" border="0"></a> -->
* [Saving available locale records into a cursor](sample_076.md)
* [Retrieving national language settings](sample_077.md)
* [Capturing keyboard activity of another application using the Raw Input API](sample_572.md)
Expand Down
4 changes: 3 additions & 1 deletion samples/sample_340.md
Expand Up @@ -3,7 +3,9 @@
# Reading list of folders and files on FTP server

## Before you begin:
<table cellspacing=3 cellpadding=0 border=0><tr><td valign=top><img src="images/readarticle.gif" border=0></td><td valign=top class=fdescr><a href="?article=3">Programming File Transfer Protocol in Visual FoxPro </a></td></tr></table>
<!-- Anatoliy
<table cellspacing=3 cellpadding=0 border=0><tr><td valign=top><img src="../images/readarticle.gif" border=0></td><td valign=top class=fdescr><a href="?article=3">Programming File Transfer Protocol in Visual FoxPro </a></td></tr></table> -->

This code stores in a cursor list of all files and directories found on FTP server. Note that for some FTPs this can be a time consuming process.

Substitute *???* question marks in the following code with valid FTP server *host*, *user* and *password* values.
Expand Down
8 changes: 5 additions & 3 deletions samples/sample_344.md
Expand Up @@ -3,7 +3,9 @@
# Custom FTP Class for Visual FoxPro application

## Before you begin:
<table cellspacing=3 cellpadding=0 border=0><tr><td valign=top><img src="images/readarticle.gif" border=0></td><td valign=top class=fdescr><a href="?article=3">Programming File Transfer Protocol in Visual FoxPro </a></td></tr></table>
<!-- Anatoliy
<table cellspacing=3 cellpadding=0 border=0><tr><td valign=top><img src="../images/readarticle.gif" border=0></td><td valign=top class=fdescr><a href="?article=3">Programming File Transfer Protocol in Visual FoxPro </a></td></tr></table>
-->
The class implements basic FTP operations: connection, directories, downloading and uploading files. All functionality comes from the Microsoft Wininet API library.

Simple FTP manager form built on this class:
Expand Down Expand Up @@ -45,8 +47,8 @@ See also:
* [Winsock: accessing FTP](sample_386.md)
* [Using FTPCommand](sample_059.md)

More advanced VFP-based FTP solution:
<a href="http://www.news2news.com/vfp/?solution=1&src=x344"><img src="../images/ftplib_270_48.jpg" width=270 height=48 border=0 vspace=5 hspace=5 alt="Download FTP Class Library"></a>
<!-- Anatoliy More advanced VFP-based FTP solution:
<a href="http://www.news2news.com/vfp/?solution=1&src=x344"><img src="../images/ftplib_270_48.jpg" width=270 height=48 border=0 vspace=5 hspace=5 alt="Download FTP Class Library"></a> -->

***

Expand Down

0 comments on commit 64923fc

Please sign in to comment.