MAGICの漢字入力制御
値 入力モード サイズ 入力方法 入力例
0 OFF - - -
1 全Rかな 全角 ローマ字 かな
2 全かな 全角 直接 のちみち(KANA )
3 全Rカナ 全角 ローマ字 カナ
4 全カナ 全角 直接 ノチミチ(KANA )
5 半Rカナ 半角 ローマ字 カナ
6 半カナ 半角 直接 ノチミチ(KANA )
7 全英数 全角 直接 kana
8 半英数 半角 直接 kana
2011年3月30日水曜日
UniPass OSコマンドの上限
UniPaasのOSコマンドの文字列上限が、たぶん4000文字
OSが、Windows98,2000までは、コマンドパラメータが4000までだった。
XPから8000まで拡張されていたが、UniPaasは対応していないようだ。
確認Ver. UniPaas 1.5
OS:Windows7 SP1
OSが、Windows98,2000までは、コマンドパラメータが4000までだった。
XPから8000まで拡張されていたが、UniPaasは対応していないようだ。
確認Ver. UniPaas 1.5
OS:Windows7 SP1
2011年3月28日月曜日
MemoryテーブルのDBDELは失敗する
親タスクでトランザクションはNoにしている。
サブフォームでメモリーテーブルをオープンしている。
親タスクの検索ボタンでメモリーテーブルを作成後
サブフォームを再表示して、親タスクでDBDELを発行しているが、うまく動作しない。
どうも、サブフォームで使用しているから、DBDEL自体がテーブルDROP出来ないと思われる。
DBDELでは無く、レコードを削除するタスクで対応するようにする。
サブフォームでメモリーテーブルをオープンしている。
親タスクの検索ボタンでメモリーテーブルを作成後
サブフォームを再表示して、親タスクでDBDELを発行しているが、うまく動作しない。
どうも、サブフォームで使用しているから、DBDEL自体がテーブルDROP出来ないと思われる。
DBDELでは無く、レコードを削除するタスクで対応するようにする。
2011年3月24日木曜日
MS-SQL 一時テーブルの作成方法
if OBJECT_ID('tempdb..#temp_table1') is not null
drop table #temp_table1
create table #temp_table1 (
ID int,
NAME varchar(50),
VALUE varchar(255)
)
drop table #temp_table1
create table #temp_table1 (
ID int,
NAME varchar(50),
VALUE varchar(255)
)
2011年3月23日水曜日
PDFから画像ファイルを作成(GhostScriptLiteを使用)
PDFから画像ファイルを作成(GhostScriptLiteを使用)
複数ページ対応する為に、tiff形式にしました。
pdfを一旦、画像ファイル(tiff)に変換後
画像下部を白抜き編集した後に、再度pdfを作成しました。
pdfから画像を作成するのは、GhostScriptLiteを使用 Ver9.0
画像の編集は、PdfSharpを使用しました。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using PdfSharp;
using PdfSharp.Pdf;
using PdfSharp.Pdf.IO;
using PdfSharp.Drawing;
using System.Drawing;
using System.Drawing.Imaging;
namespace PDF得意先発注Clear
{
class Program
{
static void Main(string[] args)
{
if (args.Length == 0)
{
Console.WriteLine("コマンドライン引数はありません。");
return;
}
String vTempFile = args[0] + "_.bmp";
// ファイルを削除する
if (System.IO.File.Exists(vTempFile))
{
try { File.Delete(vTempFile); }
catch { };
}
if (System.IO.File.Exists(vTempFile))
{
try { File.Delete(vTempFile); }
catch { };
}
//PDFを画像に変換 PDFConvertはPDFtoImage.csにある
PDFConvert converter = new PDFConvert();
bool Converted = false;
//Setup the converter
converter.RenderingThreads = -1;
converter.TextAlphaBit = -1;
converter.OutputToMultipleFile = false;
converter.FirstPageToConvert = -1;
converter.LastPageToConvert = -1;
converter.FitPage = false;
converter.JPEGQuality = 100; //100は圧縮しない
//converter.OutputFormat = "jpeg";
converter.OutputFormat = "tifflzw";
Converted = converter.Convert(args[0].ToString(), vTempFile);
// Open the output document
PdfDocument outputDocument = new PdfDocument();
//複数ページに対応 2011/03/23
//画像の読み取り
var ReadImage = Image.FromFile(vTempFile);
//ディメンジョンリストを作成する
Guid[] DimensionList = ReadImage.FrameDimensionsList;
//ディメンジョンが続く限りループ
foreach(Guid dimens in DimensionList )
{
//フレームディメンジョンを作成し
var fd = new FrameDimension(dimens);
//ページ数を取得する
int Pages = ReadImage.GetFrameCount(fd);
//全頁処理対象
for (int frameIndex = 0; frameIndex < Pages; frameIndex++)
{
//アクティブフレームを切り替える
ReadImage.SelectActiveFrame(fd, frameIndex);
//新しいビットマップにコピーする
var img = new Bitmap(ReadImage);
img.SetResolution(ReadImage.HorizontalResolution, ReadImage.VerticalResolution);
//ページ追加
PdfPage page = outputDocument.AddPage();
using (XImage image = XImage.FromGdiPlusImage(img))
{
page.Width = image.PointWidth;
page.Height = image.PointHeight;
using (XGraphics gfx = XGraphics.FromPdfPage(page))
{
gfx.DrawImage(image, 0, 0);
var options = new XPdfFontOptions(PdfFontEmbedding.Always);
XPen pen = new XPen(XColors.White, Math.PI);
gfx.DrawRectangle(pen, XBrushes.White, 360, 640, 600, 870);
gfx.DrawRectangle(pen, XBrushes.White, 0, 720, 600, 870);
}
}
}
}
outputDocument.Save(args[0]);
ReadImage.Dispose();
//元ファイルを削除
File.Delete(vTempFile);
}
}
}
複数ページ対応する為に、tiff形式にしました。
pdfを一旦、画像ファイル(tiff)に変換後
画像下部を白抜き編集した後に、再度pdfを作成しました。
pdfから画像を作成するのは、GhostScriptLiteを使用 Ver9.0
画像の編集は、PdfSharpを使用しました。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using PdfSharp;
using PdfSharp.Pdf;
using PdfSharp.Pdf.IO;
using PdfSharp.Drawing;
using System.Drawing;
using System.Drawing.Imaging;
namespace PDF得意先発注Clear
{
class Program
{
static void Main(string[] args)
{
if (args.Length == 0)
{
Console.WriteLine("コマンドライン引数はありません。");
return;
}
String vTempFile = args[0] + "_.bmp";
// ファイルを削除する
if (System.IO.File.Exists(vTempFile))
{
try { File.Delete(vTempFile); }
catch { };
}
if (System.IO.File.Exists(vTempFile))
{
try { File.Delete(vTempFile); }
catch { };
}
//PDFを画像に変換 PDFConvertはPDFtoImage.csにある
PDFConvert converter = new PDFConvert();
bool Converted = false;
//Setup the converter
converter.RenderingThreads = -1;
converter.TextAlphaBit = -1;
converter.OutputToMultipleFile = false;
converter.FirstPageToConvert = -1;
converter.LastPageToConvert = -1;
converter.FitPage = false;
converter.JPEGQuality = 100; //100は圧縮しない
//converter.OutputFormat = "jpeg";
converter.OutputFormat = "tifflzw";
Converted = converter.Convert(args[0].ToString(), vTempFile);
// Open the output document
PdfDocument outputDocument = new PdfDocument();
//複数ページに対応 2011/03/23
//画像の読み取り
var ReadImage = Image.FromFile(vTempFile);
//ディメンジョンリストを作成する
Guid[] DimensionList = ReadImage.FrameDimensionsList;
//ディメンジョンが続く限りループ
foreach(Guid dimens in DimensionList )
{
//フレームディメンジョンを作成し
var fd = new FrameDimension(dimens);
//ページ数を取得する
int Pages = ReadImage.GetFrameCount(fd);
//全頁処理対象
for (int frameIndex = 0; frameIndex < Pages; frameIndex++)
{
//アクティブフレームを切り替える
ReadImage.SelectActiveFrame(fd, frameIndex);
//新しいビットマップにコピーする
var img = new Bitmap(ReadImage);
img.SetResolution(ReadImage.HorizontalResolution, ReadImage.VerticalResolution);
//ページ追加
PdfPage page = outputDocument.AddPage();
using (XImage image = XImage.FromGdiPlusImage(img))
{
page.Width = image.PointWidth;
page.Height = image.PointHeight;
using (XGraphics gfx = XGraphics.FromPdfPage(page))
{
gfx.DrawImage(image, 0, 0);
var options = new XPdfFontOptions(PdfFontEmbedding.Always);
XPen pen = new XPen(XColors.White, Math.PI);
gfx.DrawRectangle(pen, XBrushes.White, 360, 640, 600, 870);
gfx.DrawRectangle(pen, XBrushes.White, 0, 720, 600, 870);
}
}
}
}
outputDocument.Save(args[0]);
ReadImage.Dispose();
//元ファイルを削除
File.Delete(vTempFile);
}
}
}
Windows CommandLineの文字列制限
Microsoft Windows XP 以降を実行しているコンピュータでは、コマンド プロンプトで使用できる文字列の最大長は 8191 文字です。
Microsoft Windows 2000 または Windows NT 4.0 を実行しているコンピュータでは、コマンド プロンプトで使用できる文字列の最大長は 2047 文字です。
この制限は、コマンド ライン、他のプロセスによって受け継がれる個別の環境変数 (PATH 変数など)、およびすべての環境変数の展開結果に適用されます。[コマンド プロンプト] を使用してバッチ ファイルを実行する場合は、この制限がバッチ ファイルの処理にも適用されます。
長いコマンド ラインを必要とするプログラムは、パラメータ情報を格納したファイルを使用するように変更し、そのファイル名をコマンド ラインに含めます。
使用する環境変数が長いプログラムは、環境変数に格納される値が (使用するオペレーティング システムに応じて) 2047 文字または 8191 文字を超えないように変更します
Microsoft Windows 2000 または Windows NT 4.0 を実行しているコンピュータでは、コマンド プロンプトで使用できる文字列の最大長は 2047 文字です。
この制限は、コマンド ライン、他のプロセスによって受け継がれる個別の環境変数 (PATH 変数など)、およびすべての環境変数の展開結果に適用されます。[コマンド プロンプト] を使用してバッチ ファイルを実行する場合は、この制限がバッチ ファイルの処理にも適用されます。
長いコマンド ラインを必要とするプログラムは、パラメータ情報を格納したファイルを使用するように変更し、そのファイル名をコマンド ラインに含めます。
使用する環境変数が長いプログラムは、環境変数に格納される値が (使用するオペレーティング システムに応じて) 2047 文字または 8191 文字を超えないように変更します
2011年3月16日水曜日
MS-SQL で OracleのTO_DATEを
MS-SQLでOracleのTO_DATE関数を実装
CREATE FUNCTION [dbo].[TO_DATE]
(
-- Add the parameters for the function here
@piStrDate varchar(512),
@piFORMAT varchar(512)
)
-- =============================================
-- Author:アスカクリエイト
-- Create date: 2011/03/16
-- Description: 文字列をFORMAT文字列で日付型を返す
-- =============================================
RETURNS DateTime
AS
BEGIN
-- Declare the return variable here
DECLARE @vDate AS DateTime
-- 文字8
IF (@piFORMAT IS NULL) OR (UPPER(@piFORMAT) = 'YYYYMMDD')
BEGIN
SET @vDate = CONVERT(datetime, @piStrDate, 112)
END
ELSE
BEGIN
SET @vDate = CONVERT(datetime, @piStrDate, 112)
END
-- Return the result of the function
RETURN @vDate
END
CREATE FUNCTION [dbo].[TO_DATE]
(
-- Add the parameters for the function here
@piStrDate varchar(512),
@piFORMAT varchar(512)
)
-- =============================================
-- Author:アスカクリエイト
-- Create date: 2011/03/16
-- Description: 文字列をFORMAT文字列で日付型を返す
-- =============================================
RETURNS DateTime
AS
BEGIN
-- Declare the return variable here
DECLARE @vDate AS DateTime
-- 文字8
IF (@piFORMAT IS NULL) OR (UPPER(@piFORMAT) = 'YYYYMMDD')
BEGIN
SET @vDate = CONVERT(datetime, @piStrDate, 112)
END
ELSE
BEGIN
SET @vDate = CONVERT(datetime, @piStrDate, 112)
END
-- Return the result of the function
RETURN @vDate
END
MS-SQL で OracleのTO_CHARを
MS-SQL で OracleのTO_CHARを使用したい
CRAETE FUNCTION [dbo].[TO_CHAR]
(
-- Add the parameters for the function here
@piDateTime DateTime,
@piFORMAT varchar(512)
)
-- =============================================
-- Author:アスカクリエイト
-- Create date: 2011/03/16
-- Description: 日付を FORMATの文字列で返す
-- =============================================
RETURNS VARCHAR(2000)
AS
BEGIN
-- Declare the return variable here
DECLARE @vStrDate AS VARCHAR(2000)
-- 文字8
IF (@piFORMAT IS NULL) OR (UPPER(@piFORMAT) = 'YYYYMMDD')
BEGIN
SET @vStrDate = CONVERT(char(8), @piDateTime, 112)
END
ELSE
BEGIN
SET @vStrDate = CONVERT(char(8), @piDateTime, 112)
END
-- Return the result of the function
RETURN @vStrDate
END
CRAETE FUNCTION [dbo].[TO_CHAR]
(
-- Add the parameters for the function here
@piDateTime DateTime,
@piFORMAT varchar(512)
)
-- =============================================
-- Author:アスカクリエイト
-- Create date: 2011/03/16
-- Description: 日付を FORMATの文字列で返す
-- =============================================
RETURNS VARCHAR(2000)
AS
BEGIN
-- Declare the return variable here
DECLARE @vStrDate AS VARCHAR(2000)
-- 文字8
IF (@piFORMAT IS NULL) OR (UPPER(@piFORMAT) = 'YYYYMMDD')
BEGIN
SET @vStrDate = CONVERT(char(8), @piDateTime, 112)
END
ELSE
BEGIN
SET @vStrDate = CONVERT(char(8), @piDateTime, 112)
END
-- Return the result of the function
RETURN @vStrDate
END
2011年3月14日月曜日
支援
かみさんの実家が、福島県福島市ですが
土曜日からメールで安否は確認したのですが
ライフライン(電気、ガス、水道)が、止まっているらしく
電話が不通なのです。
早く復旧するように、お祈りします。
Yahooの支援に支援しました。
http://volunteer.yahoo.co.jp/
土曜日からメールで安否は確認したのですが
ライフライン(電気、ガス、水道)が、止まっているらしく
電話が不通なのです。
早く復旧するように、お祈りします。
Yahooの支援に支援しました。
http://volunteer.yahoo.co.jp/
2011年3月10日木曜日
PDFSharpを使って、画像からPDFを作成
PDFSharpを使って画像からPDFを作成
画像をPDFにまとめる
以下のコードで画像をPDFにまとめることができる。
string SavePath = "ImageTest.pdf";
string[] ImagePaths = { "無題.bmp" };
using (PdfDocument Document = new PdfDocument())
{
foreach (string ImagePath in ImagePaths)
{
PdfPage page = Document.AddPage();
using (XImage image = XImage.FromFile(ImagePath))
{
page.Width = image.PointWidth;
page.Height = image.PointHeight;
using (XGraphics gfx = XGraphics.FromPdfPage(page))
{
gfx.DrawImage(image, 0, 0);
}
}
}
Document.Save(SavePath);
}
Process.Start(SavePath);
元ネタ
http://d.hatena.ne.jp/aont/20090823/1251021218
画像をPDFにまとめる
以下のコードで画像をPDFにまとめることができる。
string SavePath = "ImageTest.pdf";
string[] ImagePaths = { "無題.bmp" };
using (PdfDocument Document = new PdfDocument())
{
foreach (string ImagePath in ImagePaths)
{
PdfPage page = Document.AddPage();
using (XImage image = XImage.FromFile(ImagePath))
{
page.Width = image.PointWidth;
page.Height = image.PointHeight;
using (XGraphics gfx = XGraphics.FromPdfPage(page))
{
gfx.DrawImage(image, 0, 0);
}
}
}
Document.Save(SavePath);
}
Process.Start(SavePath);
元ネタ
http://d.hatena.ne.jp/aont/20090823/1251021218
2011年3月9日水曜日
Command-LineでPDF印刷
フォルダにあるPDFを一括で印刷する必要があった。
PDF X-Change Viewerで以下のバッチを作成
"C:\Program Files\Tracker Software\PDF Viewer\PDFXCview.exe" /print ファイル名.pdf
出力先は、デフォルトプリンタ
PDF X-Change Viewerで以下のバッチを作成
"C:\Program Files\Tracker Software\PDF Viewer\PDFXCview.exe" /print ファイル名.pdf
出力先は、デフォルトプリンタ
wdCalendar for ASP.NET , OSS
wdCalendar for ASP.NET
http://wdcalendar.blogspot.com/
http://wdcalendar.blogspot.com/
ラベル:
Calendar,
JQuery,
OSS,
wdCalendar
2011年3月8日火曜日
Google Calendar like asp.net
Google Calendarに似た予定表
2011年3月8日時点
wdCalendar
http://plugins.jquery.com/project/wdCalendar
License:LGPL
日本語化
http://www.okushin.co.jp/kodanuki_note/2011/02/googlejquerywdcalendar.html
月表示と週表示がある。
DayPlot
www.daypilot.org/
License:Apache 2.0
OutLookに似ているインターフェース
c#で作成されているので、asp.netで作りやすい
JQuery Week Calendar
http://jsajax.com/Articles/jqueryweekcalendar/1439
License:MIT or LGPL
週表示のみ
JQuery-frontier-calendar
http://code.google.com/p/jquery-frontier-calendar/
License:MIT
月表示のみ
2011年3月8日時点
wdCalendar
http://plugins.jquery.com/project/wdCalendar
License:LGPL
日本語化
http://www.okushin.co.jp/kodanuki_note/2011/02/googlejquerywdcalendar.html
月表示と週表示がある。
DayPlot
www.daypilot.org/
License:Apache 2.0
OutLookに似ているインターフェース
c#で作成されているので、asp.netで作りやすい
JQuery Week Calendar
http://jsajax.com/Articles/jqueryweekcalendar/1439
License:MIT or LGPL
週表示のみ
JQuery-frontier-calendar
http://code.google.com/p/jquery-frontier-calendar/
License:MIT
月表示のみ
2011年3月7日月曜日
Delphi O/Rマッパー
Delphi Open SourceのO/Rマッパー
DelphiXEで使用できる。
InstantObjectもあるけど、こちらは開発が停滞しています。
http://sourceforge.net/projects/tiopf/
License:LGPL or MPL
O/Rマッパーとかでコーディングを少しでも楽にしたい。
DelphiXEで使用できる。
InstantObjectもあるけど、こちらは開発が停滞しています。
http://sourceforge.net/projects/tiopf/
License:LGPL or MPL
O/Rマッパーとかでコーディングを少しでも楽にしたい。
ラベル:
Delphi,
O/R,
OpenSource
iTextSharpで線を書く
iTextSharpで線を書く
iTextSharpでLineを書く
参考url
http://www.mikesdotnetting.com/Article/88/iTextSharp-Drawing-shapes-and-Graphics
確認Ver:5.0.5.0
Sample 今回は四角の枠
string pdfpath = Server.MapPath("PDFs");
Document doc = new Document();
try
{
PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(pdfpath + "/Graphics.pdf", FileMode.Create));
doc.Open();
PdfContentByte cb = writer.DirectContent;
...
cb.SetColorStroke(new CMYKColor(255, 255, 255, 255));
cb.SetColorFill(new CMYKColor(255, 255, 255, 255));
cb.MoveTo(0, 850);
cb.LineTo(0, 810);
cb.LineTo(590, 810);
cb.LineTo(590, 850);
//cb.Fill(); //塗りつぶすならFillを使用
cb.ClosePathStroke(); //線を描くだけならClosePathStrokeを使用する
iTextSharpでLineを書く
参考url
http://www.mikesdotnetting.com/Article/88/iTextSharp-Drawing-shapes-and-Graphics
確認Ver:5.0.5.0
Sample 今回は四角の枠
string pdfpath = Server.MapPath("PDFs");
Document doc = new Document();
try
{
PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(pdfpath + "/Graphics.pdf", FileMode.Create));
doc.Open();
PdfContentByte cb = writer.DirectContent;
...
cb.SetColorStroke(new CMYKColor(255, 255, 255, 255));
cb.SetColorFill(new CMYKColor(255, 255, 255, 255));
cb.MoveTo(0, 850);
cb.LineTo(0, 810);
cb.LineTo(590, 810);
cb.LineTo(590, 850);
//cb.Fill(); //塗りつぶすならFillを使用
cb.ClosePathStroke(); //線を描くだけならClosePathStrokeを使用する
2011年3月2日水曜日
登録:
投稿 (Atom)