This is a demo delphi program to convert Geographic coordinates into UTM Grid coordinates and vice versa. Reference Formulae : http://www.epsg.org/
The 15th Avenue Journal
Pete's programming blog and delphi source code archive! Mostly old hat stuff.
Tuesday, August 23, 2011
Sunday, August 21, 2011
Project Downloads
StringGrid2CSV- Project to demonstate export and import of data in CSV format.
GeoGrid - Project to demonstrate Geographic and Grid conversions.
GeoGrid - Project to demonstrate Geographic and Grid conversions.
StringGrid to CSV
This is a demo delphi 2010 project to show export and import of CSV files.
Project Code: StringGrid2CSV
unit mainform;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ExtCtrls, StdCtrls, ToolWin, Grids;
type
TForm1 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Splitter1: TSplitter;
StringGrid1: TStringGrid;
Memo1: TMemo;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
btnImport: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
btnFillDefault: TToolButton;
procedure FormCreate(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure btnFillDefaultClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure btnImportClick(Sender: TObject);
private
{ Private declarations }
procedure ClearStringGrid(AStringGrid: TStringGrid; IncludeHeader: Boolean);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
btnFillDefault.Click;
end;
procedure TForm1.ClearStringGrid(AStringGrid: TStringGrid;
IncludeHeader: Boolean);
var
i: Integer;
begin
for i := 0 to AStringGrid.RowCount - 1 do
if (IncludeHeader or (i <> 0)) then
AStringGrid.Rows[i].Clear
end;
Function ExportSG2CSV(Grid: TStringGrid; Memo: TMemo;
FileName: String): Boolean;
Var
CSV: TStrings;
i: Integer;
begin
CSV := TStringList.Create;
Try
For i := 0 To Grid.RowCount - 1 Do
CSV.Add(Grid.Rows[i].CommaText);
Memo.Lines := CSV;
CSV.SaveToFile(FileName);
Result := True;
Finally
CSV.Free;
End;
end;
procedure TForm1.ToolButton1Click(Sender: TObject);
begin
ExportSG2CSV(StringGrid1, Memo1, 'File1.csv');
end;
Procedure LoadCSVtoGrid(Grid: TStringGrid; FileName: String; Memo: TMemo);
var
FileStringsList: TStringList;
RowStringsList: TStringList;
i: Integer;
begin
FileStringsList := TStringList.Create;
RowStringsList := TStringList.Create;
try
FileStringsList.LoadFromFile(FileName);
//FileStringsList.Assign(Memo.Lines);
Grid.RowCount := FileStringsList.Count;
for i := 0 to FileStringsList.Count - 1 do
begin
RowStringsList.Clear;
RowStringsList.CommaText := FileStringsList[i];
Grid.Rows[i].Assign(RowStringsList);
end;
finally
FileStringsList.Free;
RowStringsList.Free;
end;
end;
procedure TForm1.btnImportClick(Sender: TObject);
begin
LoadCSVtoGrid(StringGrid1, 'File1.csv', Memo1);
end;
procedure TForm1.ToolButton3Click(Sender: TObject);
begin
ClearStringGrid(StringGrid1, True);
end;
procedure TForm1.btnFillDefaultClick(Sender: TObject);
var
i, J, K: Integer;
begin
K := 0;
with StringGrid1 do
for i := 0 to ColCount - 1 do
for J := 0 to RowCount - 1 do
begin
K := K + 1;
Cells[i, J] := Format('%*.*d', [2, 2, K]) + ' Col ' + IntToStr(i)
+ ' Row ' + IntToStr(J);
end;
end;
end.
Saturday, August 20, 2011
Title Case
// uses sysutils
function TitleCase(const s: string): string;
var
i: integer;
begin
if s = '' then
Result := ''
else
begin
Result := Uppercase(s[1]);
for i := 2 to Length(s) do
if s[i - 1] = ' ' then
Result := Result + Uppercase(s[i])
else
Result := Result + Lowercase(s[i]);
end;
end;
function TitleCase(const s: string): string;
var
i: integer;
begin
if s = '' then
Result := ''
else
begin
Result := Uppercase(s[1]);
for i := 2 to Length(s) do
if s[i - 1] = ' ' then
Result := Result + Uppercase(s[i])
else
Result := Result + Lowercase(s[i]);
end;
end;
Subscribe to:
Posts (Atom)