} I言語ホームページ


1.1 I言語とは、その1
I言語とはInstant言語の略です、コンピューターのプログラムを即座に作る事が出来る言語です。
プログラム作りは結構難しく、10人が勉強を始めても、実際にプログラムを作れるようになる人は、残念ながら10人とは成りません。
また、実際にプログラムを作れるようになったとしても、プログラムを作るには非常に時間がかかります。
そこでI言語では、難しい部分と、時間のかかる部分を、全てコンピューターに任せる事で、 「誰でも」「簡単に」「早く」プログラムを作れるようにしました。
1.2 I言語とは、その2
全てをI言語で対応する事は難しいので、データはリレーショナルデータベースに持ち、データを処理する部分は、リレーショナルデータベースを操作するSQLと呼ばれる別の言語も使用します。
SQLは簡単な文法で命令数も少なく、誰でも簡単に理解できる言語です、文法は簡単ですが、コンピューターシステム開発で必ず必要な、分散されて記憶されている情報を集めて処理するロジックを、SQLでテーブルを結合する方法で、簡単に対応出来る優れものです、SQLこそがプログラムを「誰でも」「簡単に」「早く」出来るようにした救世主です。
I言語は、SQLを効果的に使う為の物ですので、一般的には給与計算、会計処理、生産管理と言った情報処理システムと呼ばれる、 事務処理システム専用の言語ですので、応用範囲は広いですが、何でも出来る言語では無いので、その点は注意して下さい。
尚、リレーショナルデータベースのソフトはMicrosoft SQL Server 2016 Express Edition等パソコンで無償で使える物が複数提供されているので導入は容易です。
1.3 I言語とは、その3
パソコンとは、パーソナルコンピューターの略です。 日本語で言い換えれば、企業等で使用する大型の電子計算機に対し、個人で使用する小型の電子計算機の事です。
小型と言っても最近のパソコンは昔の大型の電子計算機の性能を遥かに超えているので、同時に使用する人が20人(Windows10の最大ユーザー数)以下で大規模なシステムでない限り、皆で共有して使っても問題は有りません。
では、あなたはパソコンを電子計算機として活用していますか?。
残念ながら、パソコンを電子計算機として活用している人は少ないと思われます。
これでは、パソコンの能力を十分に生かし切れていません、宝の持ち腐れとは言いませんが、非常にもったいない事です。
なぜでしょうか?、それは、パソコンを電子計算機として活用する為には、目的に合ったプログラムが必要ですが、
目的に合ったプログラムがあまり無く、個人でプログラムを作ろうとすると、難しく、かつ、時間がかかる為に、
個人ではプログラムを簡単には作る事が出来ない為です。
つまり、これを解決出来る言語が「I言語」と言う事になります。
1.4 I言語とは、その4(VER22.1版 2016年1月2日改定)
それでは、I言語が難しくない事、時間がかからない事を理解してもらうために、実際のプログラムで説明します。
I言語はSQLを使います。SQLはリレーショナルデータベースを使ってデータを効率よく記憶し、処理する為の言語です。
記憶はテーブル(行と列の2次元の表)と呼ぶ単位で持ちます。列がデータの種類で、行が1件づつのデータです。
I言語は、単に難しさの解消と、時間をかけない事を狙っただけでは、上手くゆかないので、規約でカバーしています、必要な部分を説明します。
I言語ではテーブルを許可(英字4文字)で大きく区分し、使用者には1個の許可を与えられます。 これにより使用者の使える名前を集約したり制約する事で、開発時の生産性を上げたり、許可の管理が簡単に行えるようにしています。
今回はインストール時点で許可"ZZZY"が作られていますので、これを使います。
テーブルの先頭は必ず許可と同じ文字列にする必要が有ります(注意:VER21以前は列名も先頭を許可とする必要がありましたが、VER22で廃止しデータ辞書を許可単位に設定するように基本仕様を変更しました)、そして、テーブルの最後は必ず"実表"(英語表記は"_TABLE")とする事としています。 (これはプログラム内で使われているテーブルが何かを簡単に判別出来るようにする為です)
更に、許可の次に2文字の許可区分(VER22までは部分、許可内の細かな区分)を付ける事を推奨しています、今回はインストール時点で既に設定されている"AA"を許可区分(部分)とします。
それでは、ごく簡単な月単位のエンゲル係数を導くための、家計簿のテーブルを考えてみましょう。
列としては"年月日"、"内容"、"食費"、"金額"、が考えられます。尚、列名は許可毎に自由に設定出来ますが、 今回は一応家計簿用ですので先頭に「家計簿_」の文字を付加して列名とします。
尚、テーブルは他の行と区別する為の主キーが必要です、今回は"年月日"と"内容"で区別出来るので、この2個が主キーとなります。 I言語では主キーは先頭に続けて配置する事になっています。(正しくはI言語自身が使う列が先頭に来て、その次から主キーが並びます)
実際の作業は、最初に列のデータ辞書を作ってから、次にテーブルを作ります。
下記がテーブル情報です。
****************( テーブル )********************
●テーブル名=ZZZYAA_家計簿実表
■列名1=家計簿_年月日 CHAR(8) (主キー、データ辞書の型1は"D",長さ2が1は最低1文字必要)
(CHAR(8)は半角文字で8文字記憶出来る意味です、リレーショナルデータベースには年月日を記憶出来る物も有りますが、 リレーショナルデータベース毎に全く異なる動きをするので、I言語ではあえて文字で8文字としています)
(データ辞書の型1が"D"[DATE]は年月日を意味します)
(CHARで長さ2が1は最低1文字必要の意味です)
■列名2=家計簿_内容 NCHAR(20)(主キー、データ辞書の型1は"J")
(NCHAR(20)は全角文字(半角も含めて)で20文字記憶出来る意味ですが、I言語では都合により全角で10文字の意味となります)
(データ辞書の型1が"J"[Japanise]は全て全角[日本語]を意味します)
(NCHARで長さ2が1は最低1文字必要の意味です)
■列名3=家計簿_食費 DECIMAL(1,0)(データ辞書の型1は"+")
(DECIMAL(1,0)は数値で有効桁数1桁、小数点以下0桁を意味します)
(データ辞書の型1が"+"は0以上の数値を意味しています,"-"とすると負の値も設定出来ます)
(この値が1の場合食費と見なす事にします)
■列名4=家計簿_金額 DECIMAL(9,0)(データ辞書の型1は"+")
************************************************
◎(データ辞書登録画面)◎(テーブル登録画面1/2)◎(テーブル登録画面2/2)

それでは、データーを登録するためのプログラムを作ってみます。尚、ここまでは全てI言語の開発支援プログラムで作る事が出来るので 、直接プログラムを打ち込む必要は有りません。
出来たプログラムです。
****************( プログラム VER22.1 )******************************************
PROGRAM=,&X1,?_MM?_家計簿実表
SET={}?&.SET&家計簿_年月日?
SET={}?&.SET&家計簿_内容?
DATA={K}.?&.DATA&家計簿_年月日?
DATA={K}.?&.DATA&家計簿_内容?
DATA={}.?&.DATA&家計簿_食費?
DATA={}.?&.DATA&家計簿_金額?
COPY=@ZZZZZZ_SQL
**********************************************************************************
◎(プログラム登録画面1/4)◎(プログラム登録画面2/4)◎(プログラム登録画面3/4)◎(プログラム登録画面4/4)

◎(実行画面)

先頭が*のコメント行を除くと、たった、8行しか有りませんし、テーブル名と列名がほとんどで、以外はおまじないの様な文字があるだけで、難しそうなプログラムらしきものはありません。
尚、許可と部分はメニューに設定されており、プログラム上は"?_MM?"で前後に?の有る物は変数で内容で置き換わり設定されます。
これだけで更新処理が問題なく出来ます。尚、同じプログラムで検索処理用として動かす事もできます。
基本のプログラムは全てI言語側が行う事で、これ以上は無理と考えられる極限まで、文字数が削減され「誰でも」「簡単に」「早く」が実現されている事が、お分かりと思います。
それでは、月単位のエンゲル係数を計算するプログラムを作ってみます。
こちらは、単なる更新や検索プログラムではないので、手動でプログラムする必要があります。
月単位のエンゲル係数はSQLのSUMの合計を出す集計関数とGROUP BYのグループ化の機能を使えば出来ます。
SQLをすべて作れば、当然可能ですが、「早く」が実現できないので、ある程度の事まではI言語で対応出来るようにしています。
エンゲル係数を計算する式は、エンゲル係数を表示するDATA=の下にSELECT=で書く事で対応できます。
グループ化の指定はDATA=の次に{G}とする事で対応できます。
プログラムは下記のようになります。こちらも、たったの8行で出来ます。
****************( プログラム )*******************************
PROGRAM=,&X1,?_MM?_家計簿実表
DATA={G}.年月{6}
SELECT=?_SUBSTR(X1.家計簿_年月日;1;6)?
DATA={}エンゲル係数{3,,+,Z}
SELECT=CASE SUM(?_T?.家計簿_金額) WHEN 0 THEN 0 ELSE
SELECT=100*SUM(CASE ?_T?.家計簿_食費 WHEN 1 THEN
SELECT=?_T?.家計簿_金額 ELSE 0 END)/SUM(?_T?.家計簿_金額) END
COPY=@ZZZZZZ_SQL
****************************************************************
◎(プログラム登録画面)◎(実行画面)

年月を単位とするのでSELECT=で陽に先頭から6文字(年4文字+月2文字)とする事を設定しています。
?_SUBSTR(X1.家計簿_年月日;1;6)?はSQLの文字の1文字目から6文字分を取り出す関数に変換されます、リレーショナルデータベース毎に関数名が異なるので変数で与えています。
{3,,+,Z}は0以上の数値(+)で有効桁数3桁(3)、小数点以下無し(2番目空)の表示指定で,Zは0の場合0と表示します(Zが無いと0は無表示)。
エンゲル係数を求めているのはSQLで対応可能ですが、少し複雑ですので説明します。
「CASE SUM(?_T?.家計簿_金額) WHEN 0 THEN 0 ELSE ...」は分母が0の時SQLがエラーとなるのでこれを回避するため0の時は0とし0以外のみ計算します。
「CASE ?_T?.家計簿_食費 WHEN 1 THEN ?_T?.家計簿_金額 ELSE 0 END)」は食費のみ金額を設定し食費以外は0を設定することで食費のみの金額を算出します。
「100*SUM(食費分の金額)/SUM(その月の金額)」でエンゲル係数が%で求められます。
このプログラムはCOPY=@ZZZZZZ_SQLで検索のSQLが下記のように組み立てられます。
SELECT SUBSTRING(X1.家計簿_年月日,1,6)
,CASE SUM(X1.家計簿_金額) WHEN 0 THEN 0 ELSE
100*SUM(CASE X1.家計簿_食費 WHEN 1 THEN X1.家計簿_金額 ELSE 0 END)/SUM(X1.家計簿_金額) END
FROM ?_MM?_家計簿実表 X1
WHERE X1.Z_CANCEL=' ' GROUP BY (SUBSTRING(X1.家計簿_年月日,1,6)) ORDER BY 1,2

今回はほんの1例ですが、少し複雑な作業が必要でも、I言語側がほとんど対応してくれるので、
「誰でも」「簡単に」「早く」が実現可能な事がお分かりと思います。
ここまでは、他の開発ソフトでも比較的簡単に出来ますが、I言語はここからシステムが更に複雑になっても、「誰でも」「簡単に」「早く」が可能です。
家計簿でも、実際に使う場合は更に多くの機能を組み込んで、毎月行う作業を極力少なくする事が一番大事です。
たとえば、新聞代などは多分毎月同じです、中には火災保険のように年1度の物もあるので、この辺も含めて、定期的に自動で処理させるための、時間起動機能(一般的にはバッチ処理と呼びます)もI言語には組み込まれています。
開発支援も運用支援もすべてI言語で作られています、この点も他の開発ソフトとは異なります、つまり、結構複雑な開発支援も運用支援も開発出来るソフトですので、その実力は非常に高いと言えます。
尚、「2. I言語 のインストール方法」にインストール方法。 「 5. 家計簿のプログラムの学習」に実際のプログラムの作り方が載っているので、是非チャレンジしてみて下さい。
1.5 I言語とは、その5
I言語は。元々は自分自身のシステム開発の改善の為に作ったIPROGRAM(初期はICOBOLでその後SQLを使用)が会社で作った物なので、無償で公開出来るように自宅で0から再構築した物です。 一般には基幹システムと呼ばれるシステムまで構築出来る機能を持っています。(スケジュールに合わせて、バッチ処理を起動する機能も組み込まれています) IPROGRAMですが、既に1万本以上のプログラムが作られ本稼働していますので、実用性は保証済みです。
1.6 I言語とは、その6
ICT化が進んだ企業では、1人が1台のパソコンを使用していると思いますが、やはり、計算機としての利用はほんの少しと思われます。 理由は、プログラム開発は難しく、更に、時間がかかる為、個人のニーズまで情報処理部門がシステム化する余力が無いためです。 結局、個々の担当者は情報処理を自分の頭を使って行っています、その結果、ノウハウは個人の頭の中で留まってしまい、人が変われば、 また、1からノウハウを伝承する必要があります。 一方、I言語を使えば、自らの力で、自分の頭で行っている情報処理を、プログラムとしてコンピューターに蓄積することが容易に出来るようになります。 これを、社員の全員が始めれば、社員のあらゆるノウハウが蓄積され、人が変わっても1からノウハウを教える必要が無くなります。 担当者は、システム化により、日常業務に追われる事もなく、プログラムを改良する事で、更に、有効なノウハウがコンピューターに構築されます。 企業にとって、非常に大きな発展が期待出来ます。
コンピュータの専門家へのメッセージ
1.7 I言語とは、その7
初心者が理解しにくい技術と、作られたプログラムを容易に解読出来る事を狙って、可能な限り難しいと思われる物を使わないようにしました。
(1.7.1)オブジェクト指向プログラミング---初心者には理解しにくい事と、名前がクラス名とインスタンス名とメソード名が有り、名前が多く成り、プログラムが複雑になり解読しにくなるので、使わないようにしました。
(1.7.2)関数---関数内は同じデータが別の変数名となり、複数の関数が関与すると解読が困難になるので、使わないようにしました。ただし、同じステップが何か所も必要な場合は便利なので、単にプログラムをコピーし、別の変数名を使わないでも関数と同じような使い方が出来るようにしました。
(1.7.3)for命令等---for,while,do,switch命令等は初心者には理解しにくい事と、命令の記入方法を単純にしたため、このような命令を実現する為には新たな記入方法を追加する必要が有り、使わないようにしました。ただし、便利な場合も有るので、部分的に別の方法で対応出来る文法としました。
(1.7.4)ifのelse---プログラムミスを起こしやすいく、解読しにくく成るので、使わないようにしました。
(1.7.5)ポインタ---初心者には理解しにくい事と、C言語以外のプログラムは殆ど採用していないのでので、使わないようにしました。
(1.7.6)配列---初心者には理解しにくいので、使わないようにしました。ただし、無いと困る場合が有るので、通常の名前の最後を連番とする事で配列のように使える機能を用意しました。
(1.7.7)構造体,共用体---初心者には理解しにくい事と、データの処理部分はSQLで対応するので、一時テーブルで対応可能なので、使わないようにしました。
(1.7.8)列挙型---初心者には理解しにくい事と、無くても別の方法で対応可能なので、使わないようにしました。
(1.7.9)データ型---データはリレーショナルデータベースに持つので、テーブルにはデータ型の概念が有りますが、I言語内ではデータ型の概念は希薄で、全て文字列で処理しています。
(1.7.10)予約語---記入方法を「命令=処理内容」と「命令{処理内容}」とし、命令と処理内容を完全に分離し、予約語を無用としました。ただし、SQLには予約語が存在するので、SQLの予約語は判定しエラーとする機能を付けました。
2.I言語バージョン5以上の使用条件(2015年1月2日改定)
(1)使用中に損害が発生しても一切保証はしません。
(2)危険を伴うシステムには適用しないで下さい。
(3)I言語は全て無料で使用出来ます。
(3.1)インストール用ファイルはコンピュータ名が”I1"か"I2で"セットアップ名が”I"の場合のみそのままでインストール出来ます。(VER11以前のみ)
(3.2)別のコンピュータ名(15文字以内)とセットアップ名(20文字以内)でインストールしたい場合は事前にインストール用ファイルを作って下さい。(VER12以後は作ります) 尚、セットアップ名は使用者のパスワード暗号化文字として使用されます。
(4)I言語で商売をする、開発ソフトを他社(他人)に提供する場合は開発権が必要です。
★親会社、子会社を含む自社または自分のためのシステム開発には開発権は不要です。
(4.1)開発権はメニュ-名のAAAAからVZZZまでで、まだ未登録の物を取得できます。
(4.2)ソフトの委託開発やパッケージソフトの開発、販売をする等、給与以外のお金が動く行為は開発権が必要です。
(4.3)開発したシステムを無償で他人(他社)に提供する場合も開発権が必要です。
(4.4)開発権は希望のメニュ-名を明記したメールを直接原沢に下さい、 メニュー名が未登録の場合で特に問題が無い場合は許可を、登録済または問題が有る場合は不許可を返信します。
(5)重要情報を扱うシステムには適用しないで下さい。
(5.1)I言語はソースプログラムも添付されていますが、.NET FRAMEWORKで作られているので、 リバースエンジニアリングをすれば、ソースプログラムを復元できます。 従って、ソースプログラムが無くても、パスワードを解読しようとすれば技術的には解読可能ですので、 重要情報を扱うシステムには適用しないで下さい。
(5.2)重要情報を扱うシステムで使いたい場合は、ソースプログラムのパスワードロジックを変更し、 再コンパイルしてから、リバースエンジニアリングが出来ない処理を施して、インストール環境を再構築して使用下さい。
(6)リバースエンジニアリング等でパスワードを解読する行為は禁止とします。
(7)インストール環境を変更した物は下記を除いて、他社(他人)に配布は出来ません。(自社又は自分のみでの使用は可能です)
(7.1)I言語に問題が有った場合(RDBMSやNET Frameworkの新旧バージョン対策含む)の、問題解決の為の変更は可能です。(仕様の追加、修正を伴う場合は不可です)
(7.2)上記(5.2)を実施する場合の変更は可能です。
★使用条件を承諾する場合のみ使用できます。
3.0 VER24.1,VER23.1,VER22.1,VER21.1,VER20.1の動作確認済環境(2017年08月31日修正)(2016年8月31日作成)
◎★注意★:VER23.1に関するお願い:VER22.1に対し、一部文法を変更し、PROGRAM{、SPLIT_CHAR{、SPLIT_FORM{の命令が非互換となっているので、注意して下さい。
◎★注意★:VER22.1に関するお願い:VER22.1を出すにあたり基本仕様の見直しを行った結果、基本仕様の改定を決断し実行しました。 これにより提供している全テーブルの列名と全プログラムの修正を行いましたので、 不具合箇所が新たに発生している可能性が有ります。支援ソフトもI言語で組まれているので解読は容易です、不具合が有った場合は使用者ZZZZZZZZで修正して使って下さい。 対応方法不明の場合は直接原沢までE-mailしてもらえれば対応版を速やかに提供しますので、よろしくお願いします。 変更点は、列名の先頭を許可とする仕様を廃止し自由とする代わりに、データ辞書の主キーをデータ名のみから許可とデータ名に変更しました。 尚、I言語で提供しているテーブルに関しては旧方式の許可+部分の'ZZZZZZ'(プログラム上は~+)を全てSYSTEMとする事で対応しました。(尚、SYSTEM_USERはSQLの予約語のためSYSTEM_USER_Xとなています)
(1)OS------.NET Framework4.6.xをインストールしている64Bit Windows又はJava1.8.xかMono4.4.xをインストールしている64Bit Linux。
◎注意:違うバージョンや32BitOSで使いたい場合は、各自で対応と動作確認をお願いします。
◎注意:VER17.1で命令の基本仕様を変更したので、広範囲に非互換となりました。
◎注意:I言語のVER16以前のバージョンが同じサーバーにインストールされていると、RDBMSの定義ファイル等動作環境を変更した為、正しく動か無い場合が有ります。
◎注意:Ubuntuの場合は「sudo passwd root」でrootユーザを使えるようにしてからインストールして下さい。
(2)RDBMS---以下のデータベースソフトのどれか1個をインストールしている事。f
◎推奨:サーバーはWindowsでMicrosoftSQLServerを推奨します。
◎注意:お使いのOS(エデション)では動作しないデータベースソフトがあるので、必ず[システム要件]を確認して下さい。
(2-1)Windows(サーバー)
(2-1-1)MicrosoftSQLServer2016。(ExpressEdition含む)【Linuxサーバーは動きません,linuxクライアントは動きます】
【★注意★:「基本」でインストールするとインスタンス名が「SQLEXPRESS01」と成りますが、I言語はデフォルトではインスタンス名が「SQLEXPRESS」と成っているので「01」を追加して下さい。尚、「基本」以外でインストールした場合は「SQLEXPRESS」と成ります。】
(2-2)Windows又はLinux(サーバー)。
(2-2-1)PostgeSQL9.5.x。【★注意★:VER20.1はインストール環境にミスがありnpgsql.dllが無いエラーが出てインストール出来ません。¥I_SERVER¥SET_I.TXTをテキストエディタ(メモ帳等)で開き「'ms.net45'」を「'bin'」に修正してからインストールして下さい。】
(2-2-2)MariaDB10.1.x。【★注意★10.1.19+MySQLのDDL7.0.6は動きません,原因不明につきインストールをしないで下さい】
(2-2-3)IBM DB2 11.x(Express-C含む)。【★注意★MONO版は動きません】
(2-2-4)Oracle12C,Oracle11G ExpressEdition。【★注意★:VER20.1はインストール環境にミスがありインストールでNULLがinsert出来ないエラーが出てインストール出来ません。¥I_SERVER¥SET_END.TXTをテキストエディタ(メモ帳等)で開き「,'',」を「,’',」(引用符の間に空白を入れる)に修正してからインストールして下さい。】【★注意★MONO版は動きません】
◎VER24バージョンアップ情報
◎VER23バージョンアップ情報
◎VER22バージョンアップ情報
◎VER21バージョンアップ情報
◎VER20バージョンアップ情報
1. SQL Server 2016 Express Edition のインストール方法
2. I言語 のインストール方法
3. リレーショナルデータベースの学習
4. I言語とリレーショナルデータベースの学習
5. 家計簿のプログラムの学習
6. 家計簿のリストボックスによる入力改善の学習
7.家計簿の時間起動による自動入力化の学習
8.家計簿の本番移行の学習
9.インターネットの学習
3.1 VER19.1,VER18.1の動作確認済環境(2016年4月3日修正)
(1)OS------.NET Framework4.5.xをインストールしている64Bit Windows又はJava1.8.xかMono4.0.xをインストールしている64Bit Linux。
◎注意:違うバージョンや32BitOSで使いたい場合は、各自で対応と動作確認をお願いします。
◎注意:VER17.1で命令の基本仕様を変更したので、広範囲に非互換となりました。
◎注意:I言語のVER16以前のバージョンが同じサーバーにインストールされていると、RDBMSの定義ファイル等動作環境を変更した為、正しく動か無い場合が有ります。
◎注意:Ubuntuの場合は「sudo passwd root」でrootユーザを使えるようにしてからインストールして下さい。
(2)RDBMS---以下のデータベースソフトのどれか1個をインストールしている事。f
◎推奨:サーバーはWindowsでMicrosoftSQLServerを推奨します。
◎注意:お使いのOS(エデション)では動作しないデータベースソフトがあるので、必ず[システム要件]を確認して下さい。
(2-1)Windows(サーバー)
(2-1-1)MicrosoftSQLServer2014。(ExpressEdition含む)【Linuxサーバーは動きません,linuxクライアントは動きます】
(2-2)Windows又はLinux(サーバー)。
(2-2-1)PostgeSQL9.4.x。【★注意★VER19.1は.NET版,MONO版は「PG_START_BACKUP()」がエラーとなりデータベースのバックアップが動きません。対応策が無いので本番運用は出来ません。】
(2-2-2)MariaDB10.1.x。
(2-2-3)Firebird2.5.x。【★注意★Java版は動きません】
(2-2-4)IBM DB2 10.x(Express-C含む)。【★注意★MONO版は動きません】
(2-2-5)Oracle12C,Oracle11G ExpressEdition。【★注意★MONO版は動きません】
◎VER19バージョンアップ情報

◎VER18バージョンアップ情報

◎I言語 Lesson1 インストールの学習

◎I言語 Lesson2 家計簿のプログラムの学習

◎I言語 Lesson3 家計簿のリストボックスによる入力改善の学習

◎I言語 Lesson4 家計簿の時間起動による自動入力化の学習

◎I言語 Lesson5 家計簿の本番移行の学習

◎I言語 Lesson6 インターネットの学習

◎I言語 Lesson7 グラフ表示の学習
3.2 VER17.1VER16.1の動作確認済環境(2016年2月8日修正、2015年8月31作成)
(1)OS------.NET Framework4.5.xをインストールしている64Bit Windows又はJava1.7.xかMono4.0.x版(2016年2月7日復活)をインストールしている64Bit Linux。
◎注意:違うバージョンや32BitOSで使いたい場合は、各自で対応と動作確認をお願いします。
◎注意:VER17.1で命令の基本仕様を変更したので、広範囲に非互換となりました。
◎注意:I言語のVER16以前のバージョンが同じサーバーにインストールされていると、RDBMSの定義ファイル等動作環境を変更した為、正しく動か無い場合が有ります。
◎注意:Ubuntuの場合は「sudo passwd root」でrootユーザを使えるようにしてからインストールして下さい。
(2)RDBMS---以下のデータベースソフトのどれか1個をインストールしている事。
◎推奨:サーバーはWindowsでMicrosoftSQLServerを推奨します。
◎注意:お使いのOS(エデション)では動作しないデータベースソフトがあるので、必ず[システム要件]を確認して下さい。
(2-1)Windows(サーバー)
(2-1-1)MicrosoftSQLServer2014。(ExpressEdition含む)【Linuxサーバーは動きません,linuxクライアントは動きます】
(2-2)Windows又はLinux(サーバー)。
(2-2-1)PostgeSQL9.4.x。【★注意★VER16.1は設定ファイルの更新に問題が有り、データベースが起動しなくなるのでインストールをしないで下さい】
(2-2-2)MariaDB10.0.x。
(2-2-3)Firebird2.5.x。【★注意★Java版は動きません】
(2-2-4)IBM DB2 10.x(Express-C含む)。【★注意★MONO版は動きません】
(2-2-5)Oracle12C,Oracle11G ExpressEdition。【★注意★MONO版は動きません】
◎VER17バージョンアップ情報

◎VER16バージョンアップ情報
3.3 VER15.1,VER14.1,VER13の動作確認済環境(,2015年5月25日修正,2015年4月3日追加,2015年3月8日作成)
(1)OS------.NET Framework4.5.xをインストールしている64Bit Windows又はJava1.7.xをインストールしている64Bit Linux。
◎注意:違うバージョンや32BitOSで使いたい場合は、各自で対応と動作確認をお願いします。
◎注意:Ubuntuの場合は「sudo passwd root」でrootユーザを使えるようにしてからインストールして下さい。
(2)RDBMS---以下のデータベースソフトのどれか1個をインストールしている事。
◎注意:MicrosoftSQLServerを推奨します。以外はバックアップ等全ての機能を対応出来てはいないので、不足分は各自で対応と動作確認をお願いします。
◎注意:お使いのOS(エデション)では動作しないデータベースソフトがあるので、必ず[システム要件]を確認して下さい。
(2-1)Windows
(2-1-1)MicrosoftSQLServer2014。(ExpressEdition含む)【linuxクライアントも確認済】
(2-1-2)Firebird2.5.x。【★注意★linuxクライアントは動きません】
(2-2)Windows又はLinux。
(2-2-1)PostgeSQL9.4.x。
(2-2-2)MariaDB10.0.x。
(2-2-3)IBM DB2 10.x(Express-C含む)。【★警告★VER15.1はインストールでエラーと成ってしまうのでインストールしないで下さい、VER16.1で解消の予定】
(2-2-4)Oracle12C,Oracle11G ExpressEdition。
◎VER15バージョンアップ情報

◎VER14バージョンアップ情報

◎VER13バージョンアップ情報
3.4 VER12の動作確認済環境(2015年1月2日作成)
(1)OS------.NET Framework4.5.xをインストールしている64Bit Windows又はJava1.7.xをインストールしている64Bit Linux。
◎注意:違うバージョンや32BitOSで使いたい場合は、各自で対応と動作確認をお願いします。
◎注意:Ubuntuの場合は「sudo passwd root」でrootユーザを使えるようにしてからインストールして下さい。
(2)RDBMS---以下のデータベースソフトのどれか1個をインストールしている事。
◎注意:MicrosoftSQLServerを推奨します。以外はバックアップ等全ての機能を対応出来てはいないので、不足分は各自で対応と動作確認をお願いします。
◎注意:お使いのOS(エデション)では動作しないデータベースソフトがあるので、必ず[システム要件]を確認して下さい。
(2-1)Windows
(2-1-1)MicrosoftSQLServer2014。(ExpressEdition含む)【linuxクライアントも確認済】
(2-1-2)Firebird2.5.x。【★注意★linuxクライアントは動きません】
(2-2)Windows又はLinux。
(2-2-1)PostgeSQL9.3.x。【★注意★インストールでエラーが出てインストール出来ません、インストールする前にI_SERVER\SET_DB_P.TXTの「=SQL{BEGIN TRANSACTION};」を「=LOGIN_SQL{BEGIN TRANSACTION};」に「=SQL{COMMIT TRANSACTION};」を「=LOGIN_SQL{COMMIT TRANSACTION};」に変更して下さい。】
(2-2-2)MariaDB10.0.x。
(2-2-3)IBM DB210.x(Express-C含む)。
(2-2-4)Oracle12C。
◎VER12バージョンアップ情報

3.5 VER11の動作確認済環境(2014年11月22日作成)
(1)OS------.NET Framework4.5.xをインストールしている64Bit Windows又はJava1.7.xをインストールしている64Bit Linux。
◎注意:違うバージョンや32BitOSで使いたい場合は、各自で対応と動作確認をお願いします。
◎注意:Ubuntuの場合は「sudo passwd root」でrootユーザを使えるようにしてからインストールして下さい。
(2)RDBMS---以下のデータベースソフトのどれか1個をインストールしている事。
◎注意:MicrosoftSQLServerを推奨します。以外はバックアップ等全ての機能を対応出来てはいないので、不足分は各自で対応と動作確認をお願いします。
◎注意:お使いのOS(エデション)では動作しないデータベースソフトがあるので、必ず[システム要件]を確認して下さい。
(2-1)Windows
(2-1-1)MicrosoftSQLServer2014。(ExpressEdition含む)【linuxクライアントも確認済】
(2-1-2)IBM DB210.x(Express-C含む)。【linuxクライアントも確認済】
(2-1-3)Oracle12C。【linuxクライアントも確認済】
(2-1-4)Firebird2.5.x。【★注意★linuxクライアントは動きません】
(2-2)Windows又はLinux。
(2-2-1)PostgeSQL9.3.x。
(2-2-2)MariaDB10.0.x。
◎VER11バージョンアップ情報

3.6 VER10の動作確認済環境(2014年8月31日修正、2014年8月31日作成)
(1)OS------.NET Framework4.5.1をインストールしている64BitOS。(違うバージョンや32BitOSで使いたい場合は、各自で対応と動作確認をお願いします)。
(2)RDBMS---以下のデータベースソフトのどれか1個をインストールしている事(違うバージョンで使いたい場合は、各自で対応と動作確認をお願いします)。
◎注意:MicrosoftSQLServer以外はバックアップ等全ての機能を対応出来てはいないので、不足分は各自で対応して下さい。
◎注意:お使いのOS(エデション)では動作しないデータベースソフトがありますので、必ず[システム要件]を確認して下さい。
◎注意:JAVA対応のため大幅にプログラムを直したので、新たな問題が発生している可能性があります、動作確認を行ってから御使用下さい。
◎一部機能が使えませんが、linux用でJAVA(1.7.0_51)版も作ってあります。
◎linux用MONO版はとりあえず作成を中止しています、使う場合はcompile.batを修正してコンパイルして使って下さい。
(2-1)MicrosoftSQLServer2014。(ExpressEdition含む)
(2-2)PostgeSQL9.3.x。
(2-3)IBM DB2 10.x(Express-C含む)。
(2-4)MariaDB 10.0.x。
(2-5)Firebird 2.5.x。
(2-6)Oracle12C。
◎VER10バージョンアップ情報
3.7 VER9の動作確認済環境(2014年4月3日修正、2013年9月16日作成)
(1)OS------.NET Framework4.5.1をインストールしている64BitOS。(違うバージョンや32BitOSで使いたい場合は、各自で対応と動作確認をお願いします)。
(2)RDBMS---以下のデータベースソフトのどれか1個をインストールしている事(違うバージョンで使いたい場合は、各自で対応と動作確認をお願いします)。
◎注意:MicrosoftSQLServer以外はバックアップ等全ての機能を対応出来てはいないので、不足分は各自で対応して下さい。
◎注意:お使いのOS(エデション)では動作しないデータベースソフトがありますので、必ず[システム要件]を確認して下さい。
◎注意:JAVA対応のため大幅にプログラムを直したので、新たな問題が発生している可能性があります、動作確認を行ってから御使用下さい。
◎一部機能が使えませんが、linux用でJAVA(V1.7)版も作ってあります。
◎linux用MONO版はとりあえず作成を中止しています、使う場合はcompile.batを修正してコンパイルして使って下さい。
(2-1)MicrosoftSQLServer2012。(ExpressEdition含む)
(2-2)PostgeSQL9.3.x。
(2-3)IBM DB2 10.x(Express-C含む)。
(2-4)MariaDB 5.5.x又はMySQL5.5.x。
(2-5)Firebird 2.5.x。
(2-6)Oracle12C又はOracle11G ExpressEdition。
★注意:2-7は動作確認出来ていないので使う場合は各自で対応を御願いします。
(2-7)HiRDB 9(.NET Framework4.5.1用のソフトが無いので動作確認出来ていません)
◎VER9バージョンアップ情報
3.8 VER7,8の動作環境(2014年4月4日修正)
(1)OS------.NET Framework2.0(3.0,3.5SP1でも可)をインストールしている32BitOS。
(WindowsXP,Vista,2003,2008,7)(Vista,2008,7はインストール不要です)
(Windows8はVER8.7,VER7.38以降可能,時間予約のATコマンドを廃止しSCHTASKSで対応)
◎注意:Microsoftの延長サポート終了と同時に、I言語もサポートを中止します。
(2)RDBMS---以下のデータベースソフトのどれか1個をインストールしている事。
◎注意:MicrosoftSQLServer以外はバックアップ等全ての機能を対応出来てはいないので、不足分は各自で対応下さい。
◎注意:お使いのOS(エデション)では動作しないデータベースソフトがありますので、必ず[システム要件]を確認して下さい。
(2-1)MicrosoftSQLServer2012,2008(R2含む),2005。(ExpressEdition含む)(linuxクライアントも可能)
(2-2)PostgeSQL9.2.x,9.1.x,9.0.x。(8.4.x,8.3.xも可)
(2-3)Oracle11G(Release2含む),10G。(ExpressEdition含む)
(2-4)IBM DB2 10.x(10.1),9.x(9.7,9.5)(Express-C含む)
(2-5)VER8のみ:MySQL 5.5.x
(2-6)VER8.3以降:Firebird 2.5.x
(2-7)VER8.3以降:HiRDB 8 (9は64BitOS用の為未確認、尚、色々のエラーが発生する頻度が高いので、本番運用する場合は動作確認を十分行って下さい)
4.その他
I言語の紹介

I言語が出来るまでの経緯
5.I言語のダウンロードページ
★VER7.29より、I1,I2以外のコンピュータ名でもインストール出来るように、 インストールファイル作成機能を付けました。
★VER7.29より、ソースプログラムを添付しました。
(最新バージョン:VER24.1-2017年8月31日、 VER23.1(4)-2017年4月3日提供、VER22.1(4)-2017年1月14日提供、VER21.1-2016年11月6日提供、VER20.1-2016年8月31日提供、VER19.1-2016年4月3日提供、VER18.1-2016年3月8日提供、VER17.1-2015年11月6日提供、VER16.1-2015年8月31日提供、VER15.1-2015年5月17日提供、VER14.1-2015年4月3日提供、VER13.1-2015年3月8日提供、VER12.1-2015年1月2日提供、VER11.1-2014年12月6日提供,VER10.1-2014年8月31日提供,VER9.2-2014年5月17日提供,VER8.10-2012年11月6日提供,VER7.40-2012年11月6日提供)
【★注意★VER7以降は、OSやRDBMS等のバージョンアップ対応が主なので、新バージョンが出ても、特に問題が無い限り、新バージョンに切り替える必要は有りません】
【★注意★別のバージョンを再インストールすると問題が出るので絶対にしないで下さい】
I言語のダウンロード(http://ilanguage.iinaa.net/download.htm)

◎開発中(VER25.0)
◎(VER25.0)"SETUPI25.zip"のダウンロード

◎VER25バージョンアップ情報
6.I言語の開発権、質問、問題報告のページ
自宅サーバーが壊れたので、開発権、質問、問題報告は直接原沢までメール下さい。
7. VER8提供について(2011年5月17日改定)
MySQLの開発実験に成功しましたので、VER8を提供しました。VER8提供に関しては下記の方針とします。
MySQLのユーザー名は16文字以下の制約が有ります。一方、VER7の仕様ではユーザー名は、システム名を除いても既に16文字を使用している為、VER7の仕様のままでは対応出来ません。よって、MySQL対応の為にVER8を提供する必要があります。
VER8は「VER7の命名規約の変更+MySQL」の意味とし、VER7はVER8へのバージョンアップは無用とします。
今後、問題の修正や新機能については、VER7とVER8のどちらも対応します。
VER7とVER8は命名規約が異なる為、プログラムの互換は有りませんので、注意して下さい。
VER8はVER7の名前の"REAL","TEST","MAST",WORK","DBO","INP","OUT","LNK"を基本的には先頭の1文字で表現します。
テーブル名や列名は、許可(英字4文字)の次に部分(英数字2文字)を設定する事とし、ツールとしても、この部分の機能を付加しています。
ツール関連の名前は先頭が"ZZZZ"(4文字)から"ZZZZZZ"(6文字)となります。(文字数が多くなった名前は、一部変更しています)
★注意:VER8とVER7は命名規約が異なる為互換がありません、VER7には絶対に再インストールしないで下さい。
(2011年7月01日変更)FirebirdとHiRDBを組み込みました。
(2011年7月29日変更)Symfowareの組み込みを中止。
([JYP6015E UPDATE文の設定句に副問合せが指定されました.]エラー発生で、対応方法が無い為中止)
◎VER8バージョンアップ情報

◎I言語VER8のインストール手順

◎I言語VER8システム開発の入門編 2/9 VER8(データ辞書の作成) 3/9 VER8(テーブルの作成) 4/9 VER8(プログラムの作成) 5/9 VER8(問題点と改善点の対応) 6/9 VER8(ファイルからの登録) 7/9 VER8(ひらがな項目の追加) 8/9 VER8(承認機能の追加) 9/9 VER8(インターネットでの公開)}
◎I言語技術情報1(HELLO WORLDの表示)

◎I言語技術情報2(データベース関連)

◎I言語技術情報3(変数の変換)

◎I言語技術情報4(行制御命令)

◎I言語技術情報5(SQL=で使用する変数の説明VER7.23以降用)

◎I言語技術情報6(特別なシステム変数)

◎I言語技術情報7(配列の扱い方)

◎I言語技術情報8(プログラム更新画面の操作方法)

◎I言語技術情報9(入力アシスト機能の説明)
*****(2011年4月23日以前の内容、VER8提供中止ついて)*************************************************
(前回報告).NET Frameworkはリバースエンジニアリングをする事でソースプログラムが復元出来ます。よって、パスワードが解読される危険がありますので、パスワードの作成方法を変更し、ソースプログラム自体を難読化して、リバースエンジニアリングを実施しても解読出来ないように改めた物をVER8として提供します。
(検討結果)リバースエンジニアリングが可能であれば、ソースを解読出来なくても、パスワードを見つけ出す事は技術的に可能なので、物理的にリバースエンジニアリングが出来ないようにしないと解決しません。 リバースエンジニアリングが出来ないようにする事は、個人レベルでは開発出来ないので、VER8の提供は中止しました。
(今後の対応)
(1)提供するI言語はリバースエンジニアリングでパスワードが解析可能であることを前提で使ってください。
(2)I言語を使する場合は無償とします。I1,I2以外のサーバーへのインストールを可能とするため、 インストールファイル作成プログラムも提供しました。
(3)企業の基幹システムで使用したい場合はソースプログラムを提供しましたので、パスワードのロジックを変更し、再コンパイル後、リバースエンジニアリングが物理的に出来ない処置をしてから、使用して下さい。
(4)使用権は無しとし、開発権のみ条件を変更しました。
8. VER7について
.NET Frameworkは現在2.0(3.0,3.5含む)及び4.0に対応済みですが、サポート期間を考慮し、VER7に対しては順次新.NET Frameworkにも対応して行きます。
VER6に対し非互換が発生したのでVER7を提供しました、新規インストールの場合はこちらを使って下さい。
★注意:VER7はVER8にバージョンを上げる必要は有りません、今後も提供を続けます。
注意:サーバーはVER5やVER6とは共存出来ません。
(クライアントはPostgreSQLのNpgsqlのバージョンが異なる場合を除き共存可能です)
注意:VER5やVER6に再インストールすると非互換のため問題が出るので絶対にしないで下さい。
◎VER7バージョンアップ情報

◎I言語VER7のインストール手順

◎I言語VER7システム開発の入門編 2/9 VER7(データ辞書の作成) 3/9 VER7(テーブルの作成) 4/9 VER7(プログラムの作成) 5/9 VER7(問題点と改善点の対応) 6/9 VER7(ファイルからの登録) 7/9 VER7(ひらがな項目の追加) 8/9 VER7(承認機能の追加) 9/9 VER7(インターネットでの公開)}
◎I言語技術情報1(HELLO WORLDの表示)

◎I言語技術情報2(データベース関連)

◎I言語技術情報3(変数の変換)

◎I言語技術情報4(行制御命令)

◎I言語技術情報5(SQL=で使用する変数の説明VER7.23以降用)

◎I言語技術情報6(特別なシステム変数)
9.VER6について
注意:.NET Framework2.0のサポート期間が2016年4月12日までのようですので、VER6もこの日までをサポート期間とします。それまでにVER7への移行をお願いします。
VER5に対し非互換が発生したのでVER6を提供しました。
注意:サーバーはVER5やVER7とは共存出来ません。(クライアントは共存可能です)
注意:VER5やVER7に再インストールすると非互換のため問題が出るので絶対にしないで下さい。
VER6バージョンアップ情報

I言語VER6のインストール手順

I言語VER6システム開発の入門編(6/9以降はVER5で説明していますが、VER6でも同じように動きます) {2/9VER6(データ辞書の作成) 3/9VER6(テーブルの作成) 4/9VER6(プログラムの作成) 5/9VER6(問題点と改善点の対応) 6/9(ファイルからの登録) 7/9(ひらがな項目の追加) 8/9(承認機能の追加) 9/9(インターネットでの公開)}
10.VER5について
注意:.NET Framework2.0のサポート期間が2016年4月12日までのようですので、VER5もこの日までをサポート期間とします。それまでにVER7への移行をお願いします。
注意:サーバーはVER6やVER7とは共存出来ません。(クライアントは共存可能です)
注意:VER6やVER7に再インストールすると非互換のため問題が出るので絶対にしないで下さい。
VER5バージョンアップ情報

I言語VER5インストール手順

I言語VER5システム開発の入門編 {2/9VER5(データ辞書の作成) 3/9VER5(テーブルの作成) 4/9VER5(プログラムの作成) 5/9VER5(問題点と改善点の対応) 6/9(ファイルからの登録) 7/9(ひらがな項目の追加) 8/9(承認機能の追加) 9/9(インターネットでの公開)}
11.提供者
メールアドレス:harasawa@mis.janis.or.jp(このメールアドレスへの特定電子メールの送信を拒否いたします)
氏名:原沢信道(ひらがな:はらさわ のぶみち)
住所:395-0048長野県飯田市滝の沢5817-125
電話番号:0265-22-0295
( 写真は我が家の庭から見た風景です)

All Rights Reserved, Copyright (C) 2009-2011 Nobumichi Harasawa.