諸先輩方教えてください
サンプルで
var PP as PRINTPARAM
var PRINTER as object
PRINTEROBJECT PRINTER
if PRINTER.PRINTDLG(PP) then
SETMOUSEPOINTER 2
PRINTER.STARTDOC "文書"
PRINTER.STARTPAGE
PRINTER.DRAWGRP
PRINTER.ENDPAGE
PRINTER.ENDDOC
PRINTER.CLOSEPRINTER
SETMOUSEPOINTER 0
endif
で印刷するとき行間を指定したいのですが・・・・
No544で投稿したひろです。
未だにODBCがよくわかりません
FBASICV63のサンプルでODBC.MAKを使ってMS-SQL-Serverに接続できません
'========================================================================
'= 接続/クエリ =
'========================================================================
' 入力:OBJ 結果を設定するコントロール(リストボックス)
' 入力:DATANAME$ データベース名
' 入力:SQL_COMMAND$ SQLコマンド
function EXEC_ODBC( OBJ as object, DATANAME$, SQL_COMMAND$ )
var HDBC as long ' DB HANDLE
var HSTMT as long ' SQL Statement HANDLE
var RCODE as integer ' 復帰コード
' 初期化
if SQL_SUCCESS<>SQLALLOCCONNECT( HENV, HDBC ) then goto *_ERR
if SQL_SUCCESS<>SQLCONNECT( HDBC, DATANAME$, SQL_NTS, "", SQL_NTS, "", SQLNTS ) then goto *_ERR ->ここで落ちる
if SQL_SUCCESS<>SQLALLOCSTMT( HDBC, HSTMT ) then goto *_ERR
' SQLコマンドの実行
if SQL_SUCCESS<>SQLEXECDIRECT( HSTMT, SQL_COMMAND$, SQL_NTS ) then goto *_ERR
現在の私の解決策は エディタでIMEより使用する外字を配列文字変数にコピーして
その変数を表示する(symbol or ?)、配列の1番が jis &H7f21 に該当する。
data でソースプログラムに書き込むとか別ファイルで保存するとかしています。
APIを使用するより、こんな馬鹿げた方法が簡単な気がします。
何かいい方法があったら教えてください。
226 open "tcz2013" for input as #2 'datdat10
227 ta!=0
228 while not eof(2)
229 ta!=ta!+1
230 input #2,DCO#(TA!),DHI(TA!),DNM!(TA!),DDA$(TA!),DNA$(TA!),DBL$(TA!),DNM$(TA!),DNO(TA!),DPR!(TA!),DPZ!(TA!),DCP(TA!),DPL(TA!)
231 'print DCO#(TA!),DHI(TA!),DNM!(TA!),DDA$(TA!),DNA$(TA!),DBL$(TA!),DNM$(TA!),DNO(TA!),DPR!(TA!),DPZ!(TA!),DCP(TA!),DPL(TA!)
232 'if DNM!(TA!)=81118 then 236 'テータの終わりを認識してくれるかどうか
235 wend
236 close #2
open "tcz2013" for input as #2 'datdat10
△open "tcz2013" for input as #3 'datdat10を二度開く(LINE INPUT用)
TA!=0
while not eof(2)
△line input #3, DTEST$
△if len(trim$(DTEST$))<12 then print "Over!",TA!:exit 'データの終わりをオーバー?
TA!=TA!+1
input #2,DCO#(TA!),DHI(TA!),DNM!(TA!),DDA$(TA!),DNA$(TA!),DBL$(TA!),DNM$(TA!),DNO(TA!),DPR!(TA!),DPZ!(TA!),DCP(TA!),DPL(TA!)
'print DCO#(TA!),DHI(TA!),DNM!(TA!),DDA$(TA!),DNA$(TA!),DBL$(TA!),DNM$(TA!),DNO(TA!),DPR!(TA!),DPZ!(TA!),DCP(TA!),DPL(TA!)
'if DNM!(TA!)=81118 then exit 'テータの終わりを認識してくれるかどうか
wend
close #2
△close #3
'**** FILE1の末尾にFILE2の内容(テキストデータ)を追加する。
var L1 as long '読み込んだ行数
var L2 as long '実際に追記した行数
var DTEST$
open "FILE1.TXT" for append as #2 'このファイルに追記する
open "FILE2.TXT" for input as #3 '読み込むデータ
L1=0
L2=0
while not eof(3)
L1=L1+1
if L1>=20000& then print "LoopBreak!":exit '***EOFが効かない?
line input #3, DTEST$
if not (len(trim$(DTEST$))<12) then '空行等でなければ出力
L2=L2+1
print #2,DTEST$
endif
wend
close #2
close #3
'**** F-BASICにより自動付加されたファイル末尾のEOFコードを削除する。
DTEST$=space$(1) '読み込むバイト数の桁の領域確保
open "FILE1.TXT" for binio as #2 '対象(※追記したファイル)
if lof(2)<>0 then 'ファイルの内容が空でないこと
seek #2,-1,2 '***mode 2:ファイルの末尾から -n移動
fread #2,DTEST$ '確認のため一度読み込む
if DTEST$=chr$(&H1A) then 'EOFコードかどうか確認する
seek #2,-1,2 '再度、移動する(※EOFコードの位置)
truncate #2 '現在の位置からファイルの内容を切り捨てる
endif
endif
close #2
プロジェクトファイル(*.MAK)の役目はおおまかに、
・メニュー:プロジェクト(P) - 環境(E) のダイアログで設定する内容を記録する
・一つの実行可能形式ファイル(.EXE)を作るために必要なソースファイル等の一覧を記録
a. (一つまたは複数の)BASICソースプログラム(.BAS、.SUB)
b. リソースファイル(.RC)およびアイコンファイルやその他のファイル
c. 必要な追加ライブラリやオブジェクトファイル
・個々のファイルを再コンパイル(翻訳)して実行可能形式ファイルを再作成する
かどうかの判断材料にする