Alles was VisualX heißt, ist immer die Entwicklungsumgebung! Also ein handfestes PRODUKT mit dem man entwickelt.
C++, C# usw. sind Sprachen. Man kann also C# in VisualC# "eingeben".
Mein Grid heißt theTable und nicht dataGridView1. dataGridView1 eins ist woanders versteckt, deswegen habe ich keine Änderung bemerkt.
So nun funktionierts aber
also ich habe mich jetzt ein wenig informiert.
Ich bereite mich jetzt auf die Prüfung 70-536 vor. Im Buch steht, dass man 2 - 3 Jahre Berufserfahrung braucht. Naja, ich bin noch in der Ausbildung...
Aber habe schon vorher mit "schwereren" Programmiersprachen gearbeitet.
Ich glaube, wenn ich das Buch durcharbeite und auch verstehe sollte das eigentlich klappen.
Vielen Dank!
babelduo schrieb:
ich bräuche zugriff auf Left Top Right und Bottom meines rects...
habe ich aber leider nicht.
Aber Du hats Zugriff auf X, Y, Width und Height. 'Top', 'Left', 'Right' und 'Bottom' sind ja nur Shortcuts dafür.
skals schrieb:
Nur leider ist er im konkreten Fall _falsch_ weil er nicht der geforderten Funktionalität des OP entspricht. Mit Deinem Ansatz müßtest Du fünf verschiedene AddCheck-Funktionen schreiben, halt eine für jede Checkliste.
Nö, müsste man nicht, ich sagte doch schon: Die Liste kann man als zusätzlichen Parameter übergeben. Aber Du hast in einer Hinsicht recht: Ich schreibe in jedem Fall fünf Schleifen, das ist schlecht. D.h. man müsste trotdem euer Mapping verwenden, das hatte ich übersehen.
habs leider noch immer nicht hinbekommen, ich versuche jetzt das Problem zu umgehen indem ich einen COM-Server dafür schreibe.
http://www.c-plusplus.net/forum/viewtopic-var-p-is-1340754.html#1340754
Das geht ganz einfach: Definier Dir Delegates für die Callback-Methoden; diese Delegates müssen natürlich die korrekte, geforderte Signatur haben. Die WinAPI-Funktion deklarierst Du dann einfach so, dass die Parameter 'dwCallback' und 'dwInstance' als die von Dir definierten Delegates deklariert sind. C# kümmert sich dann um den Rest.
flotschie schrieb:
Kurz gesagt: ich tu das Datum nirgendwo hardcoden.
Okay, dann gilt das von mir gesagte nicht unbedingt. Wobei es natürlich auch beim Ablegen von Daten in externen Dateien bzw. Datenbanken durchaus gut wäre, ein portables Format zu verwenden und kein länderspezifisches. Aber ich kenne Deine Anforderungen nicht, von daher kann es gut sein, dass die Formatwahl bei Dir die richtige ist.
OK.
Also:
static Excel.Application ExcelApp = new Excel.Application();
static frmMain Main = new frmMain();
public static Excel.Workbook ExcelWorkbook = (Excel.Workbook) ExcelApp.Workbooks.Add(System.Reflection.Missing.Value);
public static Excel.Worksheet ExcelWorksheet = Excel.Worksheet)ExcelWorkbook.ActiveSheet;
Dies sind meine Instanzierungen... Ist es jetzt verständlich?
Jetzt habe ich es so gemacht, wie du es gesagt hattest:
Klick
Mein Code:
ExcelWorksheet.Cells[Convert.ToInt32(Main.txtWriteTextRow.Text), Convert.ToInt32(Main.txtWriteTextColumn.Text)] = Main.txtWriteTextText.Text;
Hindert dich das Dingen da auch nicht dran, im Beispiel ist nur die Datei-Variante angegeben, es gibt aber noch mehr Konstruktoren: http://msdn2.microsoft.com/de-de/library/system.drawing.toolboxbitmapattribute.toolboxbitmapattribute(VS.80).aspx
Ich habe die WebSite auf enem Server liegen und sobald der Client den Internet Explorer startet soll das ActiveX Control geladen werden und Word starten.
Bisher habe ich es so versucht.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Interop;
using System.Runtime.InteropServices;
namespace BspAXControl
{
public interface AxMyControl
{
String StartWord();
}
[ClassInterface(ClassInterfaceType.AutoDual)]
public class Serialletter: AxMyControl
{
Microsoft.Office.Interop.Word.Application wrdApp;
public String StartWord()
{
wrdApp = new Microsoft.Office.Interop.Word.Application();
wrdApp.Visible = true;
/* return true;
System.Diagnostics.Process.Start("winword");*/
return "Welcome";
}
}
}
Wenn ich nun den Browser starte werde ich auch gefragt ob ich das ActiveXControl ausführen möchte, sage "Geblockten Inhalt zulassen" und die Seite wird geladen aber es passiert nix.
Rufe das ActiveX Object über JavaScript auf
//Im Head Tag
var obNewAXComponent = new ActiveXObject("BspAXControl.Serialletter");
alert(obNewAXComponent.StartWord());
es wird nicht mal ein leeres Alert Fenster gestartet.