Category: Uncategorized

Crystal report – Aligner sur un meme ligne sans avoir d’espace a cause de champs trop haut

Sans titre.png

Le 1 se mettait correctement et le 2 et 3  se mettais sur la ligne verte.

Rapport principale :

Sans titre

Sous rapport :

Sans titre.png

 

Faire un sous rapport pour les lignes qui doivent etre l’un en dessous de l’autre sans avoir d’espace.

Dans le rapport mettre l’adresse qui va se mettre sur plusieurs ligne.

Créer une variable partagé dans une formule init qui nous permetrra de zapper la premiere ligne.

Formule Init :

shared booleanvar premier_passe := false

Remplir une formule dans la fonction “supprimer” du sous rapport :

shared booleanvar premier_passe ;

if ( {Commande.creancier_numero} = previous({Commande.creancier_numero}) ) and premier_passe = true then
(
premier_passe := false;
true
)
else
(
premier_passe := true;
false
)

Créer un lien entre le rapport et le sous rapport si il ont la meme source de données:

Clique droit sur le sous rapport -> changer les liens

Puis dans la formule supprimer de l’adresse, ajout la formule suivante :

shared booleanvar premier_passe ;

if premier_passe = false then
(
true;
);

 

 

 

 

 

 

 

SQL – Divers

Exclure des données depuis une jointure :

utilisation de left join et condition is null

select * from t1 left join t2 on t1.numero = t2.numero where t2.date is null

 

Créer une sauvegarde d’une table :

create table schema.nom_table_sauvegarde as select * from ma_table_a_sauvegarder

 

 

VB.NET – Replacer les caractères spéciaux d’une chaine string

Dim chaine As String = “/-?:(),+àsdsdqd  áâãäåfdsg  dfgÀÁÂdfgà ÄÅéèêëËÊÉdfgAZAZAZFGGÈòóôõöÒÓÔÕÖùúûüÙÚÛÜìíîïÌÍÎÏÿýÝçÇ”
Dim chaine_final As String = “”
Dim non_autorise As Char() = “/-?:(),+àáâãäåÀÁÂÃÄÅéèêëËÊÉÈòóôõöÒÓÔÕÖùúûüÙÚÛÜìíîïÌÍÎÏÿýÝçÇ”.ToCharArray()
Dim autorise As Char() = “/-?:(),+aaaaaaAAAAAAeeeeEEEEoooooOOOOOuuuuUUUUiiiiIIIIyyYcC”.ToCharArray()

Dim i As Integer = 0
For Each s As String In chaine
For Each a As String In autorise
If i = non_autorise.Length Then
Exit For
End If
If s = non_autorise(i) Then
chaine = chaine.ToString.Replace(non_autorise(i), a)
End If
i += 1
Next
i = 0
Next

 

 

En faire une fonction :

Public Function remplacementCaractereSpeciaux(pChaineAModifier As String, pCaractereAutorise As String, pCaractereNonAutorise As String)

Dim chaine As String = pChaineAModifier
Dim non_autorise As Char() = pCaractereNonAutorise.ToCharArray()
Dim autorise As Char() = pCaractereAutorise.ToCharArray()

Dim i As Integer = 0
For Each s As String In chaine
For Each a As String In autorise
If i = non_autorise.Length Then
Exit For
End If
If s = non_autorise(i) Then
chaine = chaine.ToString.Replace(non_autorise(i), a)
End If
i += 1
Next
i = 0
Next

Return chaine

End Function

Crystal report – Evenement sur bouton imprimer du crystalviewer

‘Permet de trouver le bouton qui à été cliquer dans le Crystal report viewer
‘ et de lui rajouter un événement
For Each Ctrl As Control In Me.CrystalReportViewer1.Controls
If TypeOf Ctrl Is ToolStrip Then
For Each Obj As Object In CType(Ctrl, ToolStrip).Items
If TypeOf Obj Is ToolStripButton Then
AddHandler CType(Obj, ToolStripButton).Click, AddressOf printButton_Click
End If
Next
End If
Next

Private Sub printButton_Click(ByVal sender As Object, ByVal e As System.EventArgs)

End Sub

 

VB.NET – Masque de saisie de date dans un datagridview en winform

Sub New()

‘ Cet appel est requis par le concepteur.
InitializeComponent()

Dim dt As New DataTable
dt.Columns.Add(“a”)
dt.Columns.Add(“Date”)

Dim dr1 As DataRow = dt.NewRow
dr1.Item(“Date”) = “10/03/2013”
Dim dr2 As DataRow = dt.NewRow
dr2.Item(“Date”) = “10/03/2013”

dt.Rows.Add(dr1)
dt.Rows.Add(dr2)

MDataGridView1.DataSource = dt
afficheDataGrid(MDataGridView10, False)

maskedTextBox2 = New MaskedTextBox
With maskedTextBox2
.Mask = “00/00/0000”
.Visible = False
End With
MDataGridView10.Controls.Add(maskedTextBox2)

End Sub

Const nomColonne As String = “Date”
Private WithEvents maskedTextBox2 As MaskedTextBox

Private Sub MyDataGridView1_CellBeginEdit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellCancelEventArgs) Handles MDataGridView10.CellBeginEdit
If (Me.MDataGridView10.Columns(e.ColumnIndex).Name = nomColonne) Then
Dim rect2 As Rectangle = Me.MDataGridView10.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, True)
Me.maskedTextBox2.Size = rect2.Size
Me.maskedTextBox2.Location = rect2.Location
If (Me.MDataGridView10.CurrentCell.Value IsNot Nothing) Then
Me.maskedTextBox2.Text = Me.MDataGridView10.CurrentCell.FormattedValue.ToString()
End If
Me.maskedTextBox2.Visible = True
End If
End Sub

Private Sub MyDataGridView1_CellEndEdit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles MDataGridView10.CellEndEdit
If (Me.MDataGridView10.Columns(e.ColumnIndex).Name = nomColonne) Then
Me.MDataGridView10.CurrentCell.Value = maskedTextBox2.Text
Me.maskedTextBox2.Visible = False
End If
End Sub

Private IsHandleAdded2 As Boolean

Private Sub MyDataGridView1_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles MDataGridView10.EditingControlShowing
If Not IsHandleAdded2 And (Me.MDataGridView10.Columns(Me.MDataGridView10.CurrentCell.ColumnIndex).Name = nomColonne) Then
Dim tx As TextBox = CType(e.Control, TextBox)
AddHandler tx.KeyPress, AddressOf Me.tx_KeyPress
IsHandleAdded2 = True
End If
End Sub

Private Sub tx_KeyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs)
If (Me.MDataGridView10.Columns(Me.MDataGridView10.CurrentCell.ColumnIndex).Name = nomColonne) Then
e.Handled = True
Me.maskedTextBox2.Focus()
If (Char.IsNumber(e.KeyChar)) Then
Me.maskedTextBox2.Text = e.KeyChar.ToString()
Else
Me.maskedTextBox2.SelectAll()
End If
End If
End Sub

VB.NET – Multi Thread

Background worker :

If not bw.IsBusy Then
bw.RunWorkerAsync()
End If

Friend WithEvents bw As New System.ComponentModel.BackgroundWorker

Private Sub bw_DoWork(sender As System.Object, e As System.ComponentModel.DoWorkEventArgs) Handles bw.DoWork
End Sub

Private Sub bw_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bw.RunWorkerCompleted

Dim mForm As New Form1()
mForm.BringToFront()
mForm.TopMost = True
mForm.Owner = Me
mForm.Show()

End Sub

 

Delegate :

Dim deleg1 As SomeWorkDelegate = New SomeWorkDelegate(AddressOf AfficherDelegate)
FaireDelegate(deleg1)

Public Delegate Sub SomeWorkDelegate(ByVal strSomeString As String)

Sub AfficherDelegate()
End Sub

Public Sub FaireDelegate(ByVal someDelegateFunc As SomeWorkDelegate)
Dim mFormChrono As New TempsPasse()
mFormChrono.BringToFront()
mFormChrono.TopMost = True
mFormChrono.Owner = Me
mFormChrono.Show()
End Sub

 

VB.NET – fonction de séparateur de millier sur le Leave malgré la région

Function separateurDeMillier(entree As String) As String

Dim al As New ArrayList

For Each s In entree

al.Add(s)

Next

Dim resultat As String = “”

Dim count As Integer = 0

For i = al.Count – 1 To 0 Step -1

resultat = resultat.Insert(0, al(i))

If al(i) <> “,” And al(i) <> “.” Then

Select Case count

Case 3

resultat = resultat.Insert(0, ” “)

count = 0

End Select

Else

count = 0

End If

If count <= 3 Then

count += 1

End If

Next

Return resultat

End Function

HTPC – Configurer un média centrer Xbmc – Kodi avec Steam + totalmedia theatre 6 / WinDVD pro 11 (blu-ray / 3D)

Matériel :

Télécommande Windows 7 Vista XP Media Center PC MCE Télécommande et récepteur infrarouge  : http://www.amazon.fr/Windows-T%C3%A9l%C3%A9commande-r%C3%A9cepteur-infrarouge-Ultimate/dp/B003ZV3J72/ref=sr_1_4?ie=UTF8&qid=1419587539&sr=8-4&keywords=telecommande+pc

Lecteur blu-ray LiteOn iHOS104 Lecteur de disque BD interne 4x SATA Noir : http://www.amazon.fr/gp/product/B002BAT1GQ?psc=1&redirect=true&ref_=oh_aui_detailpage_o07_s01

Une manette d’xbox 360 sans fil + le récepteur : http://www.amazon.fr/gp/product/B000MGVAAQ?psc=1&redirect=true&ref_=oh_aui_detailpage_o03_s00

Pré requis :

Installer Kodi / xbmc  : http://xbmc.org/download/

Installer klite-codec pour être tranquille  sur les format : http://codecguide.com/download_kl.htm

Installer steam : http://store.steampowered.com/

Installer totalmedia home theatre : http://www.arcsoft.com/totalmedia-theatre/ ou WinDVD pro :  http://www.windvdpro.com/fr/default.html (totalmedia n’est plus disponible et winDVD pro fonctionne de toute façon bien mieux avec la 3D )

Pour lire la 3D avec une carte NVIDIA, il faut acheter 3D TV play et l’activer dans le panneau de configuration nvidia.

Disponible ici : http://www.nvidia.fr/object/3dtv-play-trial-activate-fr.html

NB :Pour la lecture de blu-ray 3D sur pc, n’importe quel type de lecteur fonctionne, le 3D est décoder avec les logiciels ce n’est pas le matériel qui fait le travail pour ma part j’ai le Liteon ihos104

Ouvrir la session Windows automatiquement :

– démarrer – exécuté et saisir “control userpasswords2”   puis décocher “les utilisateurs doivent utiliser un nom d’utilisateur et un mot de passe”

– Saisir le nom du compte et le mot de passe quand demander.

Démarrer xbmc / kodi automatiquement au démarrage de Windows :

Ajouter un raccourci de xbmc / kodi .exe dans “C:\Users\NOMUTILISATEUR\AppData\Roaming\Microsoft\Windows\Menu démarrer”

Installer plugin steam pour xbmc :

http://wiki.xbmc.org/index.php?title=Unofficial_Add-on_Repositories ou directement ici : https://github.com/teeedubb/teeedubb-xbmc-repo/raw/master/repository.teeedubb/repository.teeedubb-1.0.1.zip

Dézipper et mettre le fichier “addon.xml” dans “C:\Program Files (x86)\XBMC\addons” Démarrer xbmc / kodi -> programs -> addons -> cherchercher steam et installer. il sera installer dans “programs”

Utiliser totalmedia theatre comme lecteur externe dans xbmc / kodi pour lire les blu-ray / dvd

Ajouter le fichier “playercorefactory.xml”dans C:\Users\NOMUTILISATEUR\AppData\Roaming\XBMC\userdata”

Contenant :

<?xml version=”1.0″ encoding=”UTF-8″?> <playercorefactory> <players><player name=”TMTMCEPlayer” type=”ExternalPlayer” audio=”false” video=”true”> <filename>C:\Program Files (x86)\ArcSoft\TotalMedia Theatre 6\uLaunchTMT6.exe</filename> <args>”{1}”</args> <hidexbmc>false</hidexbmc> <hideconsole>false</hideconsole> <warpcursor>none</warpcursor> </player> </players> <rules action=”prepend”> <rule dvd=”true” player=”TMTMCEPlayer”/> <rule filetypes=”mt2s” player=”TMTMCEPlayer”/> <rule name=”Blu-Ray” protocols=”bd” player=”TMTMCEPlayer”/> <rule filetypes=”bdmv” filename=”*.bdmv” player=”TMTMCEPlayer” /> <rule filetypes=”bdmv” filename=”*.m2ts” player=”TMTMCEPlayer” /> </rules> </playercorefactory>

Désactiver la 3D de Nvidia qui se lance sur chaque programme par défaut :

– Démarrer -> executer -> “regedit”

– [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\NVIDIA Corporation\Global\Stereo3D]
– Modifier “StereoDefaultON” de 1 à 0
– appuyer sur ctrl + T pour activer ou désactiver la 3D ou sur la télécommande que j’ai acheté mis en lien plus haut, appuyer sur le deuxième bouton gris en partant de la droite positionné sur la deuxième rangé en partant du haut.

Addons Kodi :

– YouTube :

Pour les vidéos, je prend celui qui se trouve à cette page : http://forum.kodi.tv/showthread.php?tid=200735

Pour la musique et la lecture de musique en automatique, j’ai installer cet addon :

https://addonscriptorde-beta-repo.googlecode.com/files/repository.addonscriptorde-beta.zip

Il faut télécharger le .zip, puis dans Kodi, allez dans Système-> extension-> installer depuis un zip. Une fois installer aller dans Système -> extensions -> extensions de musique et cliquer sur addonscripttorde-beta pour qu’il l’installe.

 

Voila plus qu’a appuyer sur “play disc” dans xbmc / kodi pour demarrer les blu-ray.